我的服务有时会失败。它还不错,在Windows 7和Windows Server 2003上,服务重新启动。但在Windows XP上我看到消息“WindowsService.exe遇到了问题,需要关闭。我们很抱歉给您带来不便。”我将我的服务添加到要从错误报告中排除的应用程序列表中。它没有帮助 - 没有“发送报告”和“不发送”的消息显示。 在我的服务中没有未处理的exeption这一事实的主要问题。一个dll中存在错误(使用非托管鳕鱼),我无法纠正它。 我怎样才能设置我的服务,这是没有这种按摩的工作? 添加: 我在try / catch块中的所有代码。事件日志是“Faulting application WindowsService.exe,version 1.0.0.0,faulting module .dll,fault address 0x00010616。”
答案 0 :(得分:2)
尝试捕获此异常是一个坏主意,访问冲突是一个非常讨厌的。订阅Main()方法中的AppDomain.CurrentDomain.UnhandledException事件。在事件处理程序中调用Environment.Exit(1)。这是 not 保证运行,非托管代码可能已经启动了自己的线程。您需要的大蒜交叉是SetUnhandledExceptionFilter(),您应该在C ++ / CLI中编写它。
答案 1 :(得分:0)
您可以将有问题的代码包装在try
/ catch
块中并记录异常。
答案 2 :(得分:0)
答案 3 :(得分:0)
根据经验: