C# ServiceController.Stop()不';我似乎没有停止任何事情

C# ServiceController.Stop()不';我似乎没有停止任何事情,c#,.net,windows-7,service,servicecontroller,C#,.net,Windows 7,Service,Servicecontroller,我的dev box是一台Windows 7(x64)计算机。我有一些代码(C#,.NET2.0),在某些情况下,检查服务是否正在运行,然后停止它 ServiceController matchedService = //My Service! //If statements and such matchedService.Stop(); matchedService.WaitForStatus(ServiceControllerStatus.Stopped); 现在,我可以验证MyServ

我的dev box是一台Windows 7(x64)计算机。我有一些代码(C#,.NET2.0),在某些情况下,检查服务是否正在运行,然后停止它

ServiceController matchedService = //My Service!

//If statements and such

matchedService.Stop();
matchedService.WaitForStatus(ServiceControllerStatus.Stopped);
现在,我可以验证MyService是否已安装并正在运行。我可以告诉您,我在调试时以管理员身份运行VisualStudio2008。我还可以验证,在几个If语句之后,我将进入编程的.Stop()和.WaitForStatus()部分。我确实知道,如果跳过.Stop()调用,服务本身就会继续运行(在服务中查看它,尽管我想到也许我应该找一个更好的工具来实现这一点。我确信有一些系统内部工具可能会给我提供更多信息)。当我跨过.WaitForStatus()调用时,我基本上会等待停止状态。永远嗯,我昨天(两次)让它在那里呆了15分钟,什么也没发生。我们永远无法进入下一行代码。这感觉就像鲍伊的空间怪癖(你知道我说的部分)

我的服务有很多你不知道的地方。你不明白的事情。你不能做的事。让我清楚地说明这一点。没有服务依赖于MyService,MyService也不依赖于其他服务附录MyOtherService和SonOfMyService在代码中的这一点上似乎都表现正确。所有这些服务都具有相同的特征(它们是我们自己的服务,我们在一个秘密实验室中孵化出来的,没有依赖关系)。MyService安装是否可能有问题

我确实知道,如果此时停止调试,MyService仍然在服务中运行(即使在点击刷新之后)。如果我尝试重新启动它(或者再次运行我的应用程序并达到这一点),我会收到一条消息,说明它无法接受控制消息。之后,服务显示为已停止,我可以正常启动它


为什么服务没有停止?这是win 7的一个怪癖吗?我未能理解ServiceController,或未能赢得一般服务?

经过进一步调查,我认为这是服务本身的问题