TopShelf服务意外停止

时间:2017-03-30 12:35:46

标签: c# wcf windows-services topshelf

我使用TopShelf实现了一个Windows服务。该服务托管一些可由客户端使用的WCF服务,其中一个使用IBM MQ。

通常服务按预期正常运行。但有时服务会在处理请求时停止,就好像有人经常停止它一样。事件日志仅显示由<<>> 停止

引起的错误
Failed to stop service. System.InvalidOperationException: An unhandled exception was detected ---> System.NullReferenceException: Object reference not set to an instance of an object.
at IBM.WMQ.MQFAPConnection.AsyncFailureNotify(Exception ex, Boolean quiescing)
at IBM.WMQ.MQRcvThread.Run
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ConctextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ConctextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ConctextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
--- End of inner exception stack trace ---
at TopShelf.Runtime.Windows.Windows.ServiceHost.OnStop()
at System.ServiceProcess.ServiceBase.DeferredStop()

我已经尝试了几种方法来强制这种情况,例如在任务中引发异常,在WCF服务实现中引发异常,提升CSE等。它们都没有导致服务的“常规”停止。

0 个答案:

没有答案