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宿主的相关介绍。