簡體   English   中英

將.NET Windows服務轉換為Azure Web作業

[英]Convert .NET Windows Service to Azure Web Job

我有一個.NET Windows服務,想轉換為Azure Web作業。 請讓我知道我是否可以將其托管為Azure Web作業或進行轉換的建議。

不幸的是,除非它是使用TopShelf構建的,否則您不能直接在Azure PaaS解決方案中托管Windows服務。 您的選擇是:

  1. 使用Azure虛擬機托管Windows服務
  2. 轉換Windows服務,以便可以將其托管在Azure PaaS中

對於轉換,最簡單的計划通常如下:

  1. 創建一個新的.NET Console應用程序
  2. 將所有邏輯從Windows服務移至.NET控制台應用程序
  3. 使控制台應用程序正常運行,以便一旦運行它,它就會執行邏輯並退出。 因此,沒有while循環可以使控制台應用程序永遠運行。
  4. 將控制台應用程序發布為Web作業。 您可以直接從Visual Studio發布它,也可以使用Azure Portal上傳它。
  5. 安排Web作業在需要時執行。

如果您的服務使用TopShelf,則可以跳過轉換部分。

如果您的Windows服務除了執行簡單的邏輯外還執行其他操作,例如,它承載WCF或Web Api,則最簡單的選擇通常是將其轉換為Web應用程序。

您可以將服務轉換為控制台應用程序,然后將其作為連續的Web作業運行。 只需將run.cmd放在將啟動.exe文件的同一目錄中(請參閱Azure App Service中的使用WebJobs運行后台任務 )。

暫無
暫無

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

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