C#中的Windows服务 - 崩溃/错误
我们有用C#编写的Windows服务。它运行了大约5-6小时后会崩溃。 我们的C#Windows服务调用非托管代码,这是一个COM组件。C#中的Windows服务 - 崩溃/错误
从事件查看器中唯一的错误信息,我得到的是:
错误的应用程序application.exe,版本2.2.2.0,印花税45ed8d14, 错误模块comcomponent.dll,版本5.2.3790.3959,印花税45d70ad8,调试? 0,故障地址0x0000bee7。
是否有任何方法通过在不同的进程中运行未托管代码来保持Windows服务持续运行/运行?
截至目前我们已经尝试AppDomain
作为不同的过程,但它未能克服这个问题。
请提出合适的解决方案。
即使你启动一个新的AppDomain,它仍然是一个进程。
既然您已经在使用COM,我认为.NET Enterprise Services将是您的最佳解决方案。在许多其他功能中,Enterprise Services可以将您的COM对象托管在不同的进程中。
你能指导我如何处理企业服务,因为我是新来的使用..... NET企业服务 – venkat 2010-01-04 13:32:50
它真的只有另一个用于COM +的单词,因此您可以使用标准的COM +工具来配置COM组件以进行进程外激活和托管。 – 2010-01-04 14:08:30
除了试图使您的代码尽可能健壮,您可能想看看Service Protector。无论出于何种原因它会在崩溃,挂起或停止时自动重启您的关键任务服务,并会向您发送电子邮件通知您发生了什么。利用免费的30天试用版来确保它有助于解决您的问题。
祝你好运!
COM dll做什么?它写了什么语言?由于COM组件 – shahkalpesh 2010-01-04 13:16:55
请提供一些其他解决方案服务吃了大量的内存 – venkat 2010-01-05 05:07:45