【发布时间】:2011-03-10 23:03:02
【问题描述】:
Frustrated 整天都在看这个......我正在创建一个 Windows 服务......这个代码在常规控制台应用程序上运行良好,但在 Windows 服务上不起作用。我得到一个空引用异常:
Null reference in OnStart(): Object reference not set to an instance of an object.
at VNurseService.Server.RequestServer..ctor(Server s)
at VNurseService.VNurseServer.OnStart(String[] args)
代码如下:
protected override void OnStart(string[] args)
{
eventLog1.WriteEntry("In OnStart");
Start:
try
{
server = new Server();
Server.RequestServer reference = new Server.RequestServer(server);
new Thread(reference.run).Start();
//r1 = new Thread(reference.run); r1.Start();
Server.ResponseServer reference2 = new Server.ResponseServer(server);
new Thread(reference2.run).Start();
//r2 = new Thread(reference.run); r2.Start();
Server.reference3 = new Server.ConfirmationServer(server);
server.guiServer = new Guicom();
server.restartServer = new Restart();
eventLog1.WriteEntry("Restart in server is " + server.RESTART.ToString());
new Thread(server.guiServer.accept).Start();
new Thread(server.restartServer.accept).Start();
goto check;
check:
while (true)
{
eventLog1.WriteEntry("CheckRestart is " + server.checkRestart().ToString());
if (server.checkRestart())
{
reference.cleanup();
//r1.Abort();
reference2.cleanup();
//r2.Abort();
//server = null;
goto Start;
}
}
}
catch (NullReferenceException ex)
{
eventLog1.WriteEntry("Null reference in OnStart(): " + ex.Message+ " " + ex.InnerException + @"\n " + ex.StackTrace);
}
}
有些东西给了我一个空引用异常,我不知道它在哪里。
提前感谢您的帮助。
【问题讨论】:
-
什么行,发布完整的异常
-
如果您没有获得行号,请确保将 .pdb 文件放在服务 exe 旁边。
-
我真的只是看到了一个 goto 吗?
-
看起来它在 VNurseService.Server.RequestServer..ctor(Server s) 中,所以可能在它试图创建 RequestServer 对象时......
-
RequestServer构造函数的代码会有所帮助,问题似乎就在那里。
标签: c# windows windows-services