將WCF寄宿在託管的Windows服務中

來源:互聯網
上載者:User

標籤:har   訊息佇列   ntc   特性   管理器   發布   arp   系統   class   

  在我之前的一篇部落格中我介紹了如何發布WCF服務並將該服務寄宿於IIS上,今天我再來介紹一種方式,就是將WCF服務寄宿在Windows服務中,這樣做有什麼好處呢?當然可以省去部署IIS等一系列的問題,能夠讓部署更加簡單,當然WCF的寄宿方式一般分為以下四種方式,針對每一種方式我來簡單介紹以下:

具體的寄宿方式詳細資料請參考MSDN:https://msdn.microsoft.com/zh-cn/library/ms733109(v=vs.100).aspx

  一、WCF服務寄宿方式:

  1):寄宿在IIS上:與經典的webservice託管類似,把服務當成web項目,需要提供svc檔案,其缺點是只能使用http協議,也就是說,只能使用單調服務,沒有工作階段狀態。IIS還受連接埠的限制(所有服務必須使用相同的連接埠),主要優勢是:用戶端第一次請求是自動啟動宿主進程。 

  2):寄宿在WAS上(全稱Windows啟用服務):WAS 是一個新的進程啟用服務,它是使用非 HTTP 傳輸協議的 Internet 資訊服務 (IIS) 功能的一般化。WCF 使用接聽程式適配器介面來傳遞通過 WCF 支援的非 HTTP 協定(例如,TCP、具名管道和訊息佇列)接收的啟用請求。可託管網站,可託管服務,可使用任何協議,可以單獨安裝和配置,不依賴IIS。需要提供svc檔案或在設定檔內提供等價的資訊。 

  3):自承載:開發人員提供和管理宿主進程生命週期的一種方法。可使用控制台程式,WinForm視窗程序,WPF程式提供宿主服務。可使用任意協議。必須先於用戶端啟動。可以實現WCF進階特性:服務匯流排,服務發現,單例服務。 

      4):寄宿在Windows服務上:此方案可通過託管 Windows 服務承載選項啟用,此選項是在沒有訊息啟用的安全環境中在 Internet 資訊服務 (IIS) 外部承載的、長時間啟動並執行 WCF 服務。服務的生存期改由作業系統控制。此宿主選項在 Windows 的所有版本中都是可用的。可以使用 Microsoft 管理主控台 (MMC) 中的 Microsoft.ManagementConsole.SnapIn 管理 Windows 服務,並且可以將其配置為在系統啟動時自動啟動。此承載選項包括註冊承載 WCF 服務作為託管 Windows 服務的應用程式定義域,因此服務的進程生存期由 Windows 服務的服務控制管理員 (SCM) 來控制。

  這一篇主要用來介紹第四種即:WCF程式寄宿在託管的Windows服務中。

      1 建立一個WCF服務,並按照相關規則來建立一個完整的WCF程式。

      a:定義服務介面    

// 注意: 使用“重構”菜單上的“重新命名”命令,可以同時更改代碼和設定檔中的介面名“IService1”。    [ServiceContract]    public interface IBasicService    {        [OperationContract]        string Login(string username, string password, string version);        [OperationContract]        Users GetUserInfo(string userName);        [OperationContract]        bool SaveOption(string option_name, string option_value);        [OperationContract]        string GetOptionValue(string option_name);        [OperationContract]        bool SaveOptionByUser(string option_name, string option_value, int userid);        [OperationContract]        string GetOptionValueByUser(string option_name, int userid);        [OperationContract]        string TestSQLConnection();        }

  

將WCF寄宿在託管的Windows服務中

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.