成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

關于WCF Windows Services宿主使用揭秘

開發 后端
這里就使用WCF Windows Services宿主做出全面的介紹,文章還有詳細的代碼分析,希望對大家有幫助。

WCF 還是比較常用的,于是我研究了一下Windows Services宿主,在這里拿出來和大家分享一下,希望對大家有用。在WCF Windows Services宿主則完全克服了自托管宿主的缺點,它便于管理者方便地啟動或停止服務,且在服務出現故障之后,能夠重新啟動服務。我們還可以通過 Service Control Manager(服務控制管理器),將服務設置為自動啟動方式,省去了服務的管理工作。此外,Windows Services自身還提供了一定的安全性以及檢測機制和日志機制。

#T#WCF Windows Services宿主的實現也非常簡單。我們可以在Visual Studio中創建Windows Services項目。在創建項目之后,就可以創建一個繼承System.ServiceProcess.ServiceBase類的Windows服務類。Windows服務類繼承了ServiceBase類的OnStart()和OnStop()方法,完成Windows服務的啟動與停止。我們可以重寫這兩個方法,將ServiceHost的啟動與關閉對應地放入這兩個方法的實現中。例如我們創建的 DocumentsExplorerWindowsService類:

  1. namespace BruceZhang.WCF.DocumentsExplorer   
  2. {   
  3. public partial class DocumentsExplorerWindowsService : ServiceBase   
  4. {   
  5. private ServiceHost m_serviceHost = null;   
  6.  
  7. public static void Main()   
  8. {   
  9. ServiceBase.Run(new DocumentsExplorerWindowsService());   
  10. }   
  11.  
  12. public DocumentsExplorerWindowsService()   
  13. {   
  14. InitializeComponent();   
  15.  
  16. ServiceName = "DocumentsExplorerService";   
  17. }   
  18.  
  19. protected override void OnStart(string[] args)   
  20. {   
  21. if (m_serviceHost != null)   
  22. {   
  23. m_serviceHost.Close();   
  24. }   
  25.  
  26. m_serviceHost = new ServiceHost(typeof(DocumentsExplorerService));   
  27. m_serviceHost.Open();   
  28. }   
  29.  
  30. protected override void OnStop()   
  31. {   
  32. if (m_serviceHost != null)   
  33. {   
  34. m_serviceHost.Close();   
  35. m_serviceHost = null;   
  36. }   
  37. }   
  38. }   
  39. }   

在Main函數中,我們通過ServiceBase.Run()靜態方法創建Windows服務實例,并在Windows服務類的構造函數中,調用 ServiceBase類的ServiceName屬性指定服務名。在重寫的OnStart()方法中,我們首先判斷是否已經存在ServiceHost 實例,如果不存在,則創建它。創建ServiceHost實例的方法與自托管宿主方式相同。

為了完成ServiceHost實例的創建,我們同樣需要在項目中添加app.config配置文件,配置文件的內容與前完全一樣。

如果在企業應用中要使用WCF技術,最佳的宿主方式我認為就是WCF Windows Services宿主,尤其是服務器的操作系統不是Vista的情況之下。它便于服務的管理,能夠維持服務長時期的運行,同時它還支持所有的綁定,因而受到的限制最小。然而,這種方式唯一的缺點卻是對宿主的部署相對比較復雜,必須通過.NET提供的Installutil.exe工具完成對服務宿主的安裝(也可以通過安裝包的自定義操作完成)。

責任編輯:田樹 來源: 博客
相關推薦

2009-11-09 13:04:53

WCF事物處理

2009-11-05 11:23:08

WCF宿主

2009-11-06 13:23:27

WCF模式

2010-02-22 16:09:33

WCF宿主

2009-11-06 14:25:56

WCF接口

2009-12-08 17:08:13

WCF Service

2009-11-06 15:41:25

WCF自托管宿主

2009-11-05 15:36:58

WCF service

2010-03-02 14:30:41

WCF宿主模式

2010-02-24 17:17:04

WCF宿主環境

2009-12-21 17:05:59

WCF自托管宿主

2009-11-06 12:29:23

2009-11-06 14:40:34

WCF REST架構

2010-03-01 15:51:01

WCF限流

2010-04-30 14:39:02

Windows DepVHD Native

2010-02-25 18:37:23

WCF自宿主

2010-02-25 18:04:02

WCF IIS宿主

2009-11-16 16:54:00

PHP構造函數

2009-11-04 15:55:49

ADO.NET VC

2009-11-09 16:44:18

WCF Service
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久一区二区三区 | 日韩视频一区二区在线 | 久久精品视频网站 | 日韩三级精品 | 色综久久| 色噜噜亚洲男人的天堂 | 在线视频亚洲 | 日韩免费一区 | 亚洲成人免费在线 | 亚洲成人精品 | 国产精品久久亚洲7777 | 欧美v日韩v | 一区二区三区在线 | 精品免费视频 | 亚洲一区免费在线 | av官网在线 | 曰批视频在线观看 | 久久精品亚洲 | 一区二区三区免费在线观看 | 日本三级在线网站 | 国产精品久久久久久一级毛片 | 午夜理伦三级理论三级在线观看 | 欧美一级久久 | 国产欧美一级二级三级在线视频 | 91视在线国内在线播放酒店 | 99re热这里只有精品视频 | 亚洲欧美视频在线观看 | 91在线看| 免费爱爱视频 | 九九色九九 | 亚洲欧美成人影院 | 日韩中文字幕一区 | 中文字幕第一页在线 | 福利视频网| 麻豆久久 | 精品日韩一区二区三区av动图 | 国产高清视频在线播放 | 成人片在线看 | 成人免费精品 | 一区二区三区在线播放 | 一区二区三区免费 |