Windows服务 – 在启动时崩溃【JAVA教程】

!
也想出现在这里? 联系我们
信息

Windows服务 – 在启动时崩溃,第1张

概述Windows服务 – 在启动时崩溃

我已经build立了一个windows服务,以监视我们的服务器上的一些设置,我已经开发了不lessWinForm和WPF应用程序,但我是一个绝对的新手,当涉及到windows服务,这就是为什么我诉诸MSDN,并按照教程如何创build一个简单的服务 。 现在我可以安装服务就好了,使它运行,但只有当我从微软教程切出一些零碎..但我很好奇,当我按照教程,我的服务在启动时得到一个意外的错误。

经过一些testing,似乎该服务似乎在SetServiceStatus()的onstart方法中崩溃,

public partial class MyService: ServiceBase { private static ManualresetEvent pause = new ManualresetEvent(false); [Dll@R_502_5565@(\”ADVAPI32.DLL\”,EntryPoint = \”SetServiceStatus\”)] public static extern bool SetServiceStatus(IntPtr hServiceStatus,SERVICE_STATUS lpServiceStatus); private SERVICE_STATUS myServiceStatus; private Thread workerThread = null; public MyService() { InitializeComponent(); CanPauseAndContinue = true; CanHandleSessionChangeEvent = true; Servicename = \”MyService\”; } static voID Main() { // Load the service into memory. System.ServiceProcess.ServiceBase.Run(MyService()); } protected overrIDe voID OnStart(string[] args) { IntPtr handle = this.ServiceHandle; myServiceStatus.currentState = (int)State.SERVICE_START_PENDING; **SetServiceStatus(handle,myServiceStatus);** // Start a separate thread that does the actual work. if ((workerThread == null) || ((workerThread.ThreadState & (System.Threading.ThreadState.Unstarted | System.Threading.ThreadState.Stopped)) != 0)) { workerThread = new Thread(new ThreadStart(ServiceWorkerMethod)); workerThread.Start(); } myServiceStatus.currentState = (int)State.SERVICE_RUNNING; SetServiceStatus(handle,myServiceStatus); } }

现在我的服务似乎运行得很好,当我注释掉SetServiceStatus()行。 为什么这会失败? 这是一个权利问题还是我完全忽略了这一点?

服务应用程序不会保持运行

系统重新启动时自动启动星号

windows服务来检测networking更改事件

节点窗口运行child process.exe

在windows服务中WCF服务 *** 作冻结

从另一个windows服务启动和停止windows服务

在后台运行基于GUI的应用程序的.exe

C#windows服务XML

如何configurationElasticSearch以在崩溃后重新启动

如何使通过Web服务器接受命令的linux服务?

通常,在使用框架实现托管服务时,您不必调用SetServiceStatus 。

这就是说,如果你打电话,你需要在使用之前完全初始化 SERVICE_STATUS 。 您目前只设置状态,但没有其他变量 。

这是在SetServiceStatus的最佳实践中建议的:“初始化SERVICE_STATUS结构中的所有字段,确保有有效的检查点并等待暂挂状态的提示值,使用合理的等待提示。

总结

以上是内存溢出为你收集整理的Windows服务 – 在启动时崩溃全部内容,希望文章能够帮你解决Windows服务 – 在启动时崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞186 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容