C#中的Windows服务-崩溃/错误

C#中的Windows服务-崩溃/错误,c#,windows-services,unmanaged,C#,Windows Services,Unmanaged,我们有一个用C#编写的Windows服务。它在运行约5-6小时后崩溃。 我们的C#Windows服务调用非托管代码,这是一个COM组件 我从事件查看器获得的唯一错误信息是: 故障应用程序application.exe,版本2.2.2.0,戳记45ed8d14, 故障模块comcomponent.dll,版本5.2.3790.3959,戳记45d70ad8,调试? 0,故障地址0x00007 有没有办法通过在不同进程中运行非托管代码来保持windows服务的活动/连续运行 到目前为止,我们已经尝试

我们有一个用C#编写的Windows服务。它在运行约5-6小时后崩溃。 我们的C#Windows服务调用非托管代码,这是一个COM组件

我从事件查看器获得的唯一错误信息是:

故障应用程序application.exe,版本2.2.2.0,戳记45ed8d14, 故障模块comcomponent.dll,版本5.2.3790.3959,戳记45d70ad8,调试? 0,故障地址0x00007

有没有办法通过在不同进程中运行非托管代码来保持windows服务的活动/连续运行

到目前为止,我们已经尝试将AppDomain作为不同的进程,但未能解决此问题


请建议一个合适的解决方案。

即使您启动了一个新的AppDomain,它仍然是相同的过程


由于您已经在使用COM,我认为这将是您的最佳解决方案。在许多其他功能中,Enterprise Services可以在不同的进程中托管COM对象。

除了尽可能使代码健壮之外,您可能还需要了解一下。当您的关键任务服务因任何原因崩溃、挂起或停止时,它会自动重新启动,并会向您发送电子邮件,让您知道发生了什么。利用30天的免费试用期,确保它有助于解决您的问题


祝你好运

COM dll做什么?它是用什么语言写的?由于COM组件,该服务是否会占用大量内存请提供一些其他解决方案由于我是新手,您能否指导我如何使用企业服务…..NET Enterprise service这实际上只是COM+的另一个词,因此您可以使用标准COM+工具配置COM组件以进行进程外激活和托管。