我已经编写了一个Windows服务,该服务每天处理来自服务器的文件更新。C#应用程序将数据传递给Windows服务
我也有一个简单的C#应用程序,它有以下选择:
安装/卸载服务 开始/停止服务
而且2文本框与登录按钮。
我的想法是,在登录按钮上单击,如果服务正在运行,则停止它,在OnStart方法中传递登录信息,启动它并让服务工作(重新建立与服务器的连接等)。
我的问题是,是否有一种简单的方法通过它的args []将文本框的登录信息传递给OnStart方法,并点击按钮?我寻找解决方案,但他们都建议使用参数从命令行运行服务,我需要它完全从这个应用程序进行操作。
我还发现了一篇关于命名管道的文章,但我有理解它的意思。此外,该服务不需要任何其他参数传递,只有来自文本框的2个字符串。
编辑:将
ServiceController sc = new ServiceController("ServiceName", Environment.MachineName);
string[] args = new string[2];
args[0] = txtBox1.Text;
args[1] = txtBox2.Text;
sc.Start(args);
做的伎俩?
呃,我编辑了hastly编写的字符串而不是args,但是我明白了,谢谢:)至于运行属性和东西,我不能这么做,这个想法是用户只是安装了服务并且不需要做任何事情,因为他们不需要知道任何事情。 – Januszoff