2013-06-19 59 views
6

我已經創建了一個很好的ServiceStack控制檯應用程序,但是當然,我必須在從命令提示符處觸發後才能運行它。我想將其作爲Windows服務運行。如何將ServiceStack控制檯項目作爲Windows服務運行?

我在查看此維基頁面,該頁面聲明您可以將SS作爲Windows服務運行。

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

我不是如何做到這一點完全清楚。這StarterTemplate是從2年前引用的。我克隆這個項目,然後將我的代碼複製到它?

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

回答

3

最簡單的方法是在ServiceStackVS VS.NET Extension創建ServiceStack Windows服務空項目。

否則,您可以克隆WinService項目,並從Visual Studio中創建一個新的Windows Service項目,並將該方法複製到Program.cs

最近的ServiceStack Windows服務項目是Razor Rockstars網站,其運行於Windows Service Host,其模板基於ServiceStack.Examples Starter模板。

+0

嗨,我不明白,在[Program.cs中]代碼(https://github.com/ServiceStack/ServiceStack.Examples/blob/master/src/StarterTemplates/WinServiceAppHost/Program.cs)。如果它是Windows服務,它是什麼意思'http:// localhost:port'?這不是一項網絡服務。 – 2015-09-17 00:18:18

+0

@Love它仍在運行自託管的Web服務,它只是在Windows服務中運行。 – mythz

+0

因此,當可以創建項目時,模板是「ServiceStack Windows Service Empty」? – 2015-09-17 00:48:51

2

我使用topshelf作爲Windows服務運行一個服務堆棧控制檯應用程序。它對我來說真的很好。 https://github.com/Topshelf/Topshelf

+0

有趣的是,我用TopShelf來做其他事情。所以在windows服務中運行時,終點顯示得很好? – Shane

+0

我沒有遇到任何問題。我的部署腳本包含對acl的修改,以使服務運行的用戶能夠使用端口80:netsh http add urlacl url = http:// *:80/user = XXX \ XXXXXX – MikeT

+0

@MikeT這樣的任何示例? – TCopple

相關問題