【问题标题】:How do i run a ServiceStack console project as a Windows Service?如何将 ServiceStack 控制台项目作为 Windows 服务运行?
【发布时间】:2013-06-19 19:59:34
【问题描述】:

我创建了一个运行良好的 ServiceStack 控制台应用程序,但当然,我必须在从命令提示符触发它后让它运行。我想将其作为 Windows 服务运行。

我正在查看此 wiki 页面,该页面声明您可以将 SS 作为 Windows 服务运行。

https://github.com/ServiceStack/ServiceStack/wiki/Self-hosting

我并不完全清楚如何做到这一点。此 StarterTemplate 引用自 2 年前。我要克隆这个项目,然后将我的代码复制到其中吗?

https://github.com/ServiceStack/ServiceStack.Examples/tree/master/src/StarterTemplates/WinServiceAppHost

【问题讨论】:

    标签: windows-services servicestack


    【解决方案1】:

    最简单的方法是在ServiceStackVS VS.NET Extension中创建一个ServiceStack Windows Service Empty项目。

    否则,您可以克隆 WinService 项目,并从 Visual Studio 中创建一个新的 Windows Service 项目并复制 Program.cs 中的方法。

    较新的 ServiceStack Windows 服务项目是在 Windows Service Host 中运行的 Razor Rockstars 网站,其模板基于 ServiceStack.Examples Starter 模板。

    【讨论】:

    • 您好,我看不懂Program.cs 中的代码。如果是 Windows 服务,http://localhost:port 是什么意思?它不是网络服务。
    • @Love 它仍在运行自托管的 Web 服务,它只是在 Windows 服务中运行。
    • 那么模板是ServiceStack Windows Service Empty 什么时候可以创建项目?
    【解决方案2】:

    我使用 topshelf 将 servicestack 控制台应用程序作为 Windows 服务运行。它对我来说真的很好用。 https://github.com/Topshelf/Topshelf

    【讨论】:

    • 有趣,我用 TopShelf 做其他事情。那么在 Windows 服务中运行时端点显示得很好?
    • 我没有遇到任何问题。我的部署脚本包括对 acl 的修改,以使服务正在运行的用户能够使用端口 80: netsh http add urlacl url=http://*:80/ user=XXX\XXXXXX
    • @MikeT 有这方面的例子吗?
    猜你喜欢
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-24
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    相关资源
    最近更新 更多