有关用 C# 开发Windows服务,启动时碰到异常如何捕获
使用C#的开发Windows服务工程模板, 开发一个Windows服务: Server1。
在服务的OnStart函数中,读取配置参数, 如果在读取配置参数信息时发生了异常。
protected override void OnStart(string[] args)
{
string UserName = GetUserName(); //该函数就是从文件当中读取配置信息
//该函数产生了异常,就是想在服务以外的
//地方捕获该异常
}
如果是通过Windows 的服务管理器来启动服务 Server1,就会出现提示信息: 说服务发生内部异常。
但是如果使用C#来编写程序控制服务的启动时,就不能捕获这个异常:
代码如下:
try
{
ServiceController svr = new ServiceController ("Server1");
svr.Start();
}
Catch(Exception e)
{
ShowMessage(e.Message);
}
这个代码将不能捕获到Server1在OnStart函数中抛出的异常 。
请问 .NET 如何才能捕获到 Winodws 服务的异常
Windows的服务管理器是如何能够捕获到Server1在Onstart函数中抛出的异常