我有一个.Net服务,已经开始拒绝启动 - 系统日志显示它“已成功发送一个开始控制”,然后五几秒钟后“服务进入停止状态”。我将服务类的Main()函数包装在try/catch块中 - 但是当出现这种情况时,我的服务中的事件日志中不会显示任何错误。如何检测.net服务的问题,直接停止状态没有错误
我想知道问题出在哪里。如果有一些没有被捕获的异常 - 它会在哪里被捕获?以下是我运行该服务的代码。
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);
}
}
}
}
我打算试试。如果虽然(甚至未被捕获)出现异常,除了服务进入停止状态之外,是否还会得到其他类型的通知? – pc1oad1etter 2009-01-21 20:55:49
如果在启动时出现异常,应将其记录在Windows事件日志中。如果它简单地超时,你会得到什么,但。 – 2009-01-21 20:58:19