创建Windows服务以运行Visual Studio解决方案

时间:2015-04-27 13:20:09

标签: c# forms windows-services

好吧,我之前从未做过Windows服务,如果这个问题看起来有点愚蠢,那就很抱歉。我目前有一个Windows窗体应用程序,其中有几个按钮执行某些操作。单击按钮后,这些操作当前将使用我设置的计时器无限运行。

我想将其设置为Windows服务,但实际上并不知道如何操作。有很多创建服务作为另一个项目的例子,但这是我想要的还是我可以将它包含在我现有的项目中?如何实际点击这些按钮一次并将其放在服务中?

3 个答案:

答案 0 :(得分:2)

我强烈建议您创建一个控制台应用程序来运行您的服务,然后使用TopShelf。

这使您可以通过启动Exe轻松运行应用程序以进行调试,并且可以将所有调试消息写入控制台窗口,但它内置了代码,允许您将Exe安装为Windows服务和将使用相同的代码。

您可以在http://docs.topshelf-project.com/en/latest/overview/index.html了解有关Topshelf的更多信息。

  1. 创建一个新的控制台应用程序项目。
  2. 添加Topshelf Nuget package
  3. 有一个简单程序的好例子,以及如何在http://docs.topshelf-project.com/en/latest/configuration/quickstart.html
  4. 连线
  5. 完成后,您可以从Visual Studio内部或从构建的可执行文件中启动和调试应用程序作为控制台应用程序。
  6. 如果您对程序按预期工作感到满意,则可以将可执行文件安装为Windows服务

    1. 将您构建的代码复制到您想要永久运行服务的位置。例如C:\ MyService
    2. 打开命令提示符(使用管理权限)
    3. 将目录更改为您的服务目录(例如C:\ MyService)
    4. 使用以下方法安装您的服务。 MyService.exe安装
    5. 您可以通过多种方式安装服务,您可以在此处找到。 http://docs.topshelf-project.com/en/latest/overview/commandline.html

答案 1 :(得分:0)

您应该尝试在C#应用程序中使用Topshelf。它非常易于使用且记录良好。将这个nuget包添加到项目中并使用C#代码进行配置时,可以使用简单的命令

you_app.exe -install

是您需要的一切。有关详细信息,请查看此处:

http://topshelf.readthedocs.org/en/latest/index.html http://topshelf.readthedocs.org/en/latest/configuration/quickstart.html

答案 2 :(得分:0)

如何使用Topshelf Console-Application

创建C#Windows服务

<强>步骤

  1. 启动Visual Studio并创建新的C#控制台应用程序
  2. 右键单击引用并转到管理NuGet-Packages
  3. 通过NuGet下载并安装Topshelf
  4. 粘贴 以下代码进入您的应用程序并包含所有导入。
  5. 从“调试”模式切换到“发布”并构建应用程序。
  6. 以管理员身份运行cmd.exe
  7. 将控制台导航到 “。\ myConsoleApplication \ bin \ Release \”
  8. 运行命令 “。\ myConsoleApplication.exe安装”
  9. 运行命令 “。\ myConsoleApplication.exe启动”
  10. 代码:http://pastebin.com/BAFH27wB