WCF宿主經(jīng)典類型剖析
WCF是一個比較重要的開發(fā)工具,能夠為開發(fā)人員帶來很多幫助。在這里我們將會為大家詳細介紹一下其中一個比較重要的知識,關(guān)于WCF宿主的相關(guān)介紹。希望能幫助大家?guī)硪恍椭?t#
典型的WCF宿主包括以下四種:
1、"Self-Hosting" in a Managed Application(自托管宿主)
2、Managed Windows Services(Windows Services宿主)
3、Internet Information Services(IIS宿主)
4、Windows Process Activation Service(WAS宿主)
自托管的WCF宿主
利用WCF提供的ServiceHost<T>提供的Open()和Close()方法,可以便于開發(fā)者在控制臺應(yīng)用程序,Windows應(yīng)用程序乃至于ASP.NET應(yīng)用程序中托管服務(wù)。不管自宿主的環(huán)境是何種應(yīng)用程序,實質(zhì)上托管服務(wù)的方式都是一致的。例如在控制臺應(yīng)用程序中:
- using (ServiceHost host = new ServiceHost
(typeof(DocumentsExplorerService)))- {
- host.Open();
- Console.WriteLine("The Service had been launched.");
- Console.Read();
- }
由于ServiceHost實例是被創(chuàng)建在應(yīng)用程序域中,因此我們必須保證宿主進程在調(diào)用服務(wù)期間不會被關(guān)閉,因此我們利用Console.Read()來阻塞進程,以使得控制臺應(yīng)用程序能夠一直運行,直到認為地關(guān)閉應(yīng)用程序。如果是Windows應(yīng)用程序,則可以將創(chuàng)建ServiceHost實例的代碼放在主窗體的相關(guān)代碼中,保證服務(wù)宿主不會被關(guān)閉。
以上就是對WCF宿主的相關(guān)介紹。