[英]Windows Service VS web Process
我在這里創建了一個消息隊列,它基本上在一個線程上,並從數據庫中陸續發送電子郵件。 首先,我認為由於這是一個連續的過程,因此必須在Windows服務上運行,這聽起來像是一個理想的解決方案,但並不是我與我的經理交談過,他說,如果將其與Windows XP放在同一存儲庫中會更好。整個項目,如果我放入while(true)語句。 這樣,在部署到生產環境時,我們無需擔心安裝任何Windows服務或其他任何東西。 但是我在這里的想法是,如果我們這樣做,那么Web服務器上將會承受許多不必要的壓力。
我不確定該走哪條路。 有什么建議么?
我將使用單獨的Windows服務。
由於此服務是您的應用程序的當事方,因此它的生命周期取決於應用程序池進程的生命周期(當然,取決於所使用的IIS版本),並且這種方式只要您選擇更改應用程序池設置,您將必須記住您的消息作業也取決於它,並且,如果您為應用程序池設置了任何回收設置,則您可能很難理解您的作業為何突然停止工作或類似原因。
我絕對會建議使用Windows服務在后台處理電子郵件隊列。 您可以向經理建議以下幾點:
installutil
並將批處理文件添加到項目中以進行安裝/卸載。 升級是停止服務,更新服務.exe
並再次啟動服務的問題。 您也可以簡單地編寫命令行應用程序,然后使用Service +之類的程序包裝它,使其表現得像服務一樣。 您還可以獲得其他功能,例如,可以在需要時(像希望在運行時一樣)像命令行應用程序一樣運行它,或者根據需要從其他應用程序啟動/執行它。 您還可以建立各種行為...連續模式,一次可以處理1(或100或其他),然后退出(並讓Service +重新啟動它),或您可能需要的其他任何方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.