什么是服务崩溃的异常代码?

问题描述:

我创建了一个用于跟踪用户会话的WPF服务,同时跟踪用户会话,我也想跟踪服务崩溃事件。为此,我一直在检查Windows事件日志并确定错误。但我很困惑,它显示了一个错误,它告诉你未能处理sessionchange! 这是服务崩溃吗?是否有任何特定的服务崩溃异常代码/ 任何人都可以帮助建议relavent文章/点以识别系统崩溃? enter image description here什么是服务崩溃的异常代码?

不是崩溃,你只是看到.NET框架的ServiceBase类正在做它的工作。在一些特定情况下,它会捕获异常并在应用程序事件日志中创建一个条目。在代码中这样做会导致OnStart(),OnStop()等等方法运行。

看起来像服务的OnSessionChange()方法翻倒,只是一个沼泽标准的文件锁定错误。服务代码很可能有点笨拙,它需要在Main()方法中打开该文件,以免别人混淆它。可能没有很好地测试,OnSessionChange()不会经常激发。尝试记录任何内容的原因当然很少,但是谁知道。

这应该不会影响服务过程,如果OnSessionChange通知失败,服务控制管理器不会提供太多的声音。它无能为力。所以你看到这个主要是因为你开始寻找,服务确实倾向于在没有人注意的情况下行事不端。他们确实不太明显。确保它不是锁定Log.txt文件的代码。如果你这样做,那么你将不得不使用FileShare.ReadWrite来防止服务崩溃。