我查看了几篇文章以了解如何调试Windows服务。我发现如果我将以下代码放入OnStart()函数中:Debugger.Launch();可以解决问题,但在我通过CMD(NETSTART)启动我的Windows服务后,它只是启动并正常运行,但调试器从未启动,即使VS是用加载的Windows服务打开的。我觉得我错过了什么,那是什么? 最佳答案 我通过修改服务的Main方法来做到这一点,它在Program.cs中,默认情况下它看起来像这样:ServiceBase[]ServicesToRun;ServicesToRun=newServi
我有一个简单的Windows服务应用程序,我试图在VS2008IDE中调试,但每次运行代码时,我都会收到错误“尝试读取或写入protected内存。这通常表明其他内存已损坏。”.此错误发生在下面的service.Stop()行:staticclassProgram{//////Themainentrypointfortheapplication.///staticvoidMain(string[]args){ServiceBase[]servicesToRun;servicesToRun=newServiceBase[]{newService1()};if(Environment.Us
我们一直在制作windows服务,我们有一个非常好的模板,带有漂亮的小命令行参数,便于安装等。这是我们想要做的事情...编写一段代码,以便编译后的代码可以作为服务或控制台应用程序运行,具体取决于您启动它的方式。我们发现这样做:staticvoidMain(string[]args){if(System.Environment.UserInteractive){//YoudoubleclickedtheexeConsole.Write("Youdoubleclickedme")}else//Windowsstartedmeasaservice.{ServiceBase[]Services
我正在开发一个Windows服务来做一些周期性的操作,我可以使用Unity从那里的另一个库中注入(inject)我的类吗?我想在我的服务上使用[Dependency]属性,在Windows服务启动的入口点注册组件。例子:staticclassProgram{staticvoidMain(){ServiceBase[]ServicesToRun;UnityConfig.RegisterComponents();ServicesToRun=newServiceBase[]{newEventChecker()};ServiceBase.Run(ServicesToRun);}}publics