一个可以接受参数的c# windows服务
本文关键字:参数 服务 windows 一个 | 更新日期: 2023-09-27 18:16:22
问候!
是否有可能创建可以接受输入参数的windows服务(在visual studio 2008中)?如果是,是否有可能在需要时调用该特定方法?我已经创建了一个基本的windows服务,但不知道是否可以向它传递参数。
我知道我可以调用方法在特定的间隔基于定时器。但是,当调用来自外部程序时,是否可能调用该方法呢?
关于这些的任何有用的信息将是非常感激的。
谢谢塞巴斯蒂安。
serviceconcontroller . start()方法有一个重载,它接受一个字符串数组作为参数。见http://msdn.microsoft.com/en-us/library/9c38b683.aspx
我建议研究其他通信机制,比如WCF。更粗糙的解决方案包括将文件写入共享磁盘空间或注册表,我不建议使用这两种方法,尽管过去在生产系统中见过这两种方法。
在OnStart()
方法上,您接收到一个string[]
参数。这些参数可以来自控制台启动方法。您还可以在配置文件app.config
的AppSettings
上添加一些键,并在代码中读取它。
protected string FirstArg { get; set; }
protected string SecondArg { get; set; }
// read from configuration file
protected string ConfigArgument { get { return ConfigurationManager.AppSettings["key"]; } }
protected override void OnStart(string[] args)
{
base.OnStart(args);
// read from console
FirstArg= args[0];
SecondArg = args[1];
//read more arguments
}
您也可以使用注册表来添加键