簡體   English   中英

如何從 Windows 服務中公開 Restful 接口?

[英]How to expose restful interface from windows service ?

我寫了一個 wcf 服務,它暴露了寧靜的界面。
現在我使用 iis 作為 wcf 服務主機。

除了暴露restful之外,我還需要對我的應用程序進行一些操作 - 為此,我必須將我的應用程序作為Windows服務運行。 但是使用 iis 作為主機不會使我的 wcf 服務器作為服務運行。

如何使用帶有公開 wcf restful 接口服務的 windows 服務成為可能?

您可以自托管WCF服務,請參閱ServiceHost

為了能夠在 2 種不同的主機模型中運行該應用程序,您必須將托管內容與主代碼分開。 它的關鍵點:您可以使用在其他庫項目中創建的控制器。

我以前這樣做過:

  1. 創建一個庫項目並將所有控制器和其他類移動到那里。
  2. 創建空的 WFC 服務,添加對上述 lib 的引用並使其工作。
  3. 創建一個空的控制台應用程序,引用該庫,添加自托管內容並使其工作。
  4. 將 topshelf 包添加到控制台應用程序,以便能夠將其安裝為 Windows 服務。

所以你會得到:

  1. 構建和部署 WCF 項目,您可以在 IIS 中托管它;
  2. 構建一個控制台應用程序,您可以將其作為控制台應用程序運行;
  3. 使用 topshelf 安裝參數,您可以將控制台應用程序安裝為 Windows 服務。

暫無
暫無

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

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