浅析概括WCF自托管宿主

学习WCF时,你可能会遇到WCF自托管宿主问题,这里将介绍WCF自托管宿主问题的解决方法,在这里拿出来和大家分享一下。利用WCF提供的ServiceHost提供的Open()和Close()方法,可以便于开发者在控制台应用程序,Windows应用程序乃至于ASP.NET应用程序中托管服务。不管自宿主的环境是何种应用程序,实质上托管服务的方式都是一致的。例如在控制台应用程序中:

创新互联拥有十余年的建站服务经验,在此期间,我们发现较多的客户在挑选建站服务商前都非常的犹豫。主要问题集中:在无法预知自己的网站呈现的效果是什么样的?也无法判断选择的服务商设计出来的网页效果自己是否会满意?创新互联业务涵盖了互联网平台网站建设、移动平台网站制作、网络推广、按需定制制作等服务。创新互联网站开发公司本着不拘一格的网站视觉设计和网站开发技术相结合,为企业做网站提供成熟的网站设计方案。

 
 
  1. using (ServiceHost host = new ServiceHost(typeof(DocumentsExplorerService)))   
  2. {   
  3. host.Open();   
  4.  
  5. Console.WriteLine("The Service had been launched.");   
  6. Console.Read();   
  7. }   

#T#ServiceHost实例是被创建在应用程序域中,因此我们必须保证宿主进程在调用服务期间不会被关闭,因此我们利用Console.Read() 来阻塞进程,以使得控制台应用程序能够一直运行,直到认为地关闭应用程序。如果是Windows应用程序,则可以将创建ServiceHost实例的代码放在主窗体的相关代码中,保证服务WCF自托管宿主不会被关闭。相应地,我们需要配置应用程序的app.config配置文件:

 
 
  1.    
  2.    
  3.    
  4.    
  5.    
  6.    
  7.    
  8.    
  9.    
  10. address=""   
  11. binding="basicHttpBinding"   
  12. bindingConfiguration="DocumentExplorerServiceBinding"   
  13. contract="BruceZhang.WCF.DocumentsExplorerServiceContract.IDocumentsExplorerService"/>   
  14.    
  15.    
  16.    
  17.    
  18.    
  19. messageEncoding="Text" textEncoding="utf-8" maxReceivedMessageSize="9223372036854775807">   
  20.    
  21.    
  22.    
  23.    
  24.    
  25.    
  26.    
  27.    
  28.    
  29.    
  30.    
  31.   

注意,配置文件中的服务名必须包含服务契约以及服务类的命名空间。此外,在配置文件中我通过标签为服务添加了基地址,因此在endpoint中,address为""。

网站栏目:浅析概括WCF自托管宿主
新闻来源:http://www.hantingmc.com/qtweb/news44/183194.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联