将参数传递给Windows服务的Main(string [] args)

时间:2015-05-25 09:15:09

标签: c# .net service windows-services

我需要将参数传递给Windows服务的Main(string[] args),我可以使用

通过服务属性将参数传递给void OnStart(string[] args)

How to pass parameters to Windows Service?

示例代码:

static void Main(string[] args)////How to pass args to this function
{
//// some code
}
protected override void OnStart(string[] args)////by using above link i can pass parameters to this function
{
////some code
}

注意:我使用项目属性将args传递给main(),但它无法实时帮助。

这是一种正确的方法,因为我无法找到有关此信息的任何信息吗?

编辑1:

我提到这个How to pass parameters in windows service from Installer to Main function in Program.cs?,但我没有得到很多信息,为什么我们不能通过?

编辑2:

我的目标是将Raygun密钥传递给Main(String [] args),然后将错误记录到Raygun网站,因此根据密钥将错误记录到特定版本。所以我需要动态地将Raygun密钥传递给服务,我可以通过服务属性传递密钥,然后它只会记录onstart(...)级别,所以如果在main()级别处理任何异常,我可以'能够登录。所以我需要在主方法级别或服务启动时初始化以下代码

_raygunClient = new RaygunClient("Dynamic_Key");

服务将随时手动启动以进行开发。

1 个答案:

答案 0 :(得分:1)

将Raygun键传递为commandline arguments。在安装时设置密钥。不需要动态参数。