日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
關(guān)于WCFWindowsServices宿主使用揭秘

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

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有廣昌免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

#T#WCF Windows Services宿主的實(shí)現(xiàn)也非常簡(jiǎn)單。我們可以在Visual Studio中創(chuàng)建Windows Services項(xiàng)目。在創(chuàng)建項(xiàng)目之后,就可以創(chuàng)建一個(gè)繼承System.ServiceProcess.ServiceBase類的Windows服務(wù)類。Windows服務(wù)類繼承了ServiceBase類的OnStart()和OnStop()方法,完成Windows服務(wù)的啟動(dòng)與停止。我們可以重寫這兩個(gè)方法,將ServiceHost的啟動(dòng)與關(guān)閉對(duì)應(yīng)地放入這兩個(gè)方法的實(shí)現(xiàn)中。例如我們創(chuàng)建的 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函數(shù)中,我們通過(guò)ServiceBase.Run()靜態(tài)方法創(chuàng)建Windows服務(wù)實(shí)例,并在Windows服務(wù)類的構(gòu)造函數(shù)中,調(diào)用 ServiceBase類的ServiceName屬性指定服務(wù)名。在重寫的OnStart()方法中,我們首先判斷是否已經(jīng)存在ServiceHost 實(shí)例,如果不存在,則創(chuàng)建它。創(chuàng)建ServiceHost實(shí)例的方法與自托管宿主方式相同。

為了完成ServiceHost實(shí)例的創(chuàng)建,我們同樣需要在項(xiàng)目中添加app.config配置文件,配置文件的內(nèi)容與前完全一樣。

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


名稱欄目:關(guān)于WCFWindowsServices宿主使用揭秘
鏈接分享:http://www.dlmjj.cn/article/dhogpcc.html