c# - 如何在 VS 中运行和测试 Windows 服务

标签 c# c#-4.0 windows-services

我在VS中创建了一个Windows服务:文件->新建项目->C#->Windows服务 但我不知道如何运行和测试它。VS 说我必须安装 Windows 服务才能运行它。但我只是想测试它,但不想安装它。任何人都可以帮助我吗?

最佳答案

要调试 Windows 服务,请在 Main() 中添加以下内容:

if (!Environment.UserInteractive) {
    // We are not in debug mode, startup as service

    ServiceBase[] ServicesToRun;
    ServicesToRun = new ServiceBase[] { new MyServer() };
    ServiceBase.Run(ServicesToRun);
} else {
    // We are in debug mode, startup as application

    MyServer service = new MyServer();
    service.StartService();
    System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}

您的类中的以下方法 MyServer:

public void StartService() {
    this.OnStart(new string[0]);
}

现在按 F5 进行调试,就像任何 winform 或控制台应用程序一样。

关于c# - 如何在 VS 中运行和测试 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7967218/

相关文章:

asp.net - ASPX 页面上每个响应行上的四个记录

c# - 如何在 .NET 中启用或禁用 Windows 服务?

c# - 为什么我的 MVC 应用程序中的日期格式错误?

c# - 从 gridview 检索图像 url 的代码

c# - 如何将 ComObject 转换为 ENVDTE.Project?

c# - 访问从方法返回的 C# 匿名类型对象

c# - C 中的正则表达式

c# - 动态填充数据网格

c# - 无法在 Windows XP Embedded 上启动以 .NET 2.0 编写的服务

c# - 是否可以在 Windows 服务 C# 中获取用户输入