我有一个问题,我无法弄清楚我用C#编写的windows服务。 我想要做的就是等待一个特定的时间,让一个subprocess终止,然后我被迫杀掉它并停止服务。 我已经设置了超时时间5到15秒,我的服务等待适当的时间,然后杀死孩子,当我通过mmc服务窗口停止时停止。 但是,如果我closures电脑,我的服务就会被吹走,然后才能够正常地等待和停止。 我已经读过windows允许超时30秒的服务closures之前,它吹走了。 我的代码执行的时间less于30秒,最大值大约是20秒左右,这取决于我设置的超时时间。
我已经尝试在win32 API中使用SetServiceStatus()函数,但它没有改变代码的function。 我已经valIDation函数调用成功。 有没有其他办法来强制windows等待我的服务正常关机? 我正在testing它在windows 7 x86和windows Vista Sp1 x86。
如何以编程方式跟随.lnk文件
将节点添加到树视图中的特定父节点(c#)
如果在.NET中valIDation文件的签名是否存储在系统的目录存储中?
在启动/使用.NET Win-Forms EXE的同时,.NET .NET WinDWos Service以本地系统身份运行WCF服务
仅在linux Core上运行时存储错误
windows 不会让任何服务阻止关机,这是通过设计。 正如久里所说,你必须为你的应用考虑一个不同的设计。
这是一个全球windows设置,显然: http : //support.microsoft.com/kb/305788 。 如果我不得不依靠用户关闭服务,我会担心的。 我会定期保存我的数据。
OnSTart和OnStop是从一个基础类继承而来的,这对你来说确实有一些帮助。 你所有的这些方法的实现应该是启动或停止你的客户端代码,windows将完成剩下的工作。
我会告诉这个事实,我使用C#和.Net的ServiceBase的实现做到这一点,我不能谈论C / C ++代码或API的权威性。
总结以上是内存溢出为你收集整理的强制Windows在closures时等待服务停止全部内容,希望文章能够帮你解决强制Windows在closures时等待服务停止所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)