WCF宿主經典類型剖析
WCF是一個比較重要的開發工具,能夠為開發人員帶來很多幫助。在這里我們將會為大家詳細介紹一下其中一個比較重要的知識,關于WCF宿主的相關介紹。希望能幫助大家帶來一些幫助。#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()方法,可以便于開發者在控制臺應用程序,Windows應用程序乃至于ASP.NET應用程序中托管服務。不管自宿主的環境是何種應用程序,實質上托管服務的方式都是一致的。例如在控制臺應用程序中:
- using (ServiceHost host = new ServiceHost
(typeof(DocumentsExplorerService)))- {
- host.Open();
- Console.WriteLine("The Service had been launched.");
- Console.Read();
- }
由于ServiceHost實例是被創建在應用程序域中,因此我們必須保證宿主進程在調用服務期間不會被關閉,因此我們利用Console.Read()來阻塞進程,以使得控制臺應用程序能夠一直運行,直到認為地關閉應用程序。如果是Windows應用程序,則可以將創建ServiceHost實例的代碼放在主窗體的相關代碼中,保證服務宿主不會被關閉。
以上就是對WCF宿主的相關介紹。