gpt4 book ai didi

.net - 如何检测直接进入停止状态而没有错误的 .net 服务的问题

转载 作者:行者123 更新时间:2023-12-04 07:10:21 25 4
gpt4 key购买 nike

我有一个 .Net 服务开始拒绝启动 - 系统日志显示它“已成功发送启动控制”,然后五秒钟后“服务进入停止状态”。我的服务类的 Main() 函数包含在 try/catch 块中——但是当发生这种情况时,我的服务的事件日志中不会出现任何错误。

我想知道是什么问题。如果有一些没有被捕获的异常 - 它会在哪里被捕获?下面是我运行服务的代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;

namespace MyServerService
{
static class service
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
try
{
#if DEBUG

System.Diagnostics.Debugger.Launch();

#endif

ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
ServiceBase.Run(ServicesToRun);
} catch (Exception ex)
{
System.Diagnostics.EventLog.WriteEntry("MyServerService", "Main() Error: " + ex.Message + ex.InnerException, System.Diagnostics.EventLogEntryType.Error);
}
}
}
}

最佳答案

Run 方法不会在这里抛出。相反,您需要将代码包装在 MyService 类的 OnStart 方法的重载中的 try/catch 块中,因为这是发生异常的地方。

关于.net - 如何检测直接进入停止状态而没有错误的 .net 服务的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/466133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com