簡體   English   中英

IIS與Windows服務?

[英]IIS vs Windows Service?

我有一個需要始終運行的C#應用​​程序。 我最初計划將其作為Windows服務,但我現在需要使應用程序主機成為Web管理控制台。

我在幾年內沒有玩過IIS,所以我的問題是:

你會推薦我用什么?

我已經考慮過制作Windows服務並嵌入像Cassini這樣的Web服務器,但到目前為止我對我看過的開源Web服務器並不滿意。

IIS可以處理嗎? 人們是否將它用於此類情景,如果是這樣的話?

這聽起來像是兩個獨立項目的工作。

一個是原始的Windows服務。 Windows服務非常適合您正在做的事情。

第二個是用於管理Windows服務的Web項目。 這是在IIS中運行的部分。

這取決於你總是跑步的意思。 如果沒有任何請求在一定時間內終止所有后台線程,則Web服務器可以很好地卸載部署在IIS中的ASP.NET Web應用程序。 因此,如果您想要一個永遠運行的后台線程,那么它將更適合使用Windows服務。 就Web管理員而言,在這里你沒有太多選擇:IIS中的ASP.NET。 為了做一些有用的事情,這兩個應用程序應該能夠找到一個可以交談的通用語言。 因此,您可以使用數據庫來存儲兩個應用程序可以使用的結果。

IIS將在第一次請求時運行您的應用程序,而不是在服務器啟動時 因此,您仍需要運行服務以確保您的應用始終在運行。

您可以將IIS用作Web管理部件的Web服務器,並通過配置數據庫(簡單)或Web服務(稍微復雜一點)將ASP.net應用程序與您的服務鏈接。

Windows和Web服務是兩種截然不同的生物。 Web服務將公開可以針對應用程序實現的外部方法,而Windows服務本身就是一個實體。 如果您計划在定時間隔內使用此服務來執行操作,則Windows服務將是正確的方法。 如果使用Web服務,則需要調用要從輔助應用程序運行的方法。

如果您需要針對Windows服務排隊命令,您可以隨時創建一個可供您的網站和Windows服務訪問的數據庫。 這樣您就可以在兩者之間發送命令和查詢數據。 將Web服務置於兩者之間作為中間人可能是過度的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM