我有一个我写的Windows窗体应用程序,它对收件箱和数据库进行了一些监视.客户告诉我,每次服务器重新启动时都需要运行.让我感到羞耻的是让客户改变了要求.
我在想...有没有办法让Windows Forms应用程序作为服务运行,以便它自动启动?
澄清
我想尝试不再编写任何代码......如果可能的话!
查看此文章:http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid = 719&av = 49654
这是一篇非常古老的文章,但它已经工作了8年,并且作者继续保持更新.
它会做你想做的事.
如果你确定应用程序可以安全地无人值守运行(我的意思是它永远不会抛出像消息框那样的模态UI元素)并且在关闭之前它不需要任何交互,它将被简单地终止,然后运行它作为计划任务,触发器设置为系统启动.
如果它可以无人值守运行但可能需要手动关闭和重启,或者它不能在关机时终止,那么按照EnocNRoll的建议使用XYNTService.这是一个可怕的黑客,但它会适合你想要的.
但到目前为止,最好的解决方案是将程序的功能与用户界面分开,并编写适当的服务.对于生产服务器,我不允许任何其他内容.如果不容易分离那么你有一些设计问题,你应该考虑.