我们有一个用 C# 编写的 Windows 服务。它在运行大约 5-6 小时后崩溃。 我们的 C# Windows 服务调用非托管代码,它是一个 COM 组件。
我从事件查看器得到的唯一错误信息是:
Faulting application application.exe, version 2.2.2.0, stamp 45ed8d14, faulting module comcomponent.dll, version 5.2.3790.3959, stamp 45d70ad8, debug? 0, fault address 0x0000bee7.
有什么方法可以通过在不同进程中运行非托管代码来保持 Windows 服务的事件/连续运行?
到目前为止,我们已经尝试将 AppDomain
作为不同的进程,但未能解决这个问题。
请提出合适的解决方案。
最佳答案
即使启动一个新的 AppDomain,它仍然是相同的过程。
既然你已经在使用COM,我想.NET Enterprise Services将是您的最佳解决方案。在许多其他功能中,Enterprise Services 可以在不同的进程中托管您的 COM 对象。
关于c# - C# 中的 Windows 服务 - 崩溃/错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1999407/