自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

百寶箱教你解決WCF自宿主問題

開發(fā) 后端
這里就WCF自宿主Main()方法中使用如下定義的助理類ServiceHost實現(xiàn)的和為了把這個服務(wù)宿主在一個Windows表單應(yīng)用程序中兩個案例分析。

經(jīng)過長時間學習WCF,對WCF也有一定程度上的認識了解,這里就發(fā)表下我的言論吧。WCF自宿主是當開發(fā)者負責提供和管理宿主進程的生命周期時使用的技術(shù)名詞。自宿主被應(yīng)用在位于客戶端和服務(wù)之間的一個進程(或計算機)邊界環(huán)境中,以及當使用進程中服務(wù)的情況下(也就是說,與客戶端處于相同的進程中)。

#T#你需要提供的進程可能是任何Windows進程,例如,一個Windows表單應(yīng)用程序,一個控制臺應(yīng)用程序或一個Windows NT服務(wù)。注意,該進程必須在客戶端調(diào)用服務(wù)之前先運行起來;典型情況下,這意味著,你必須預(yù)先啟動它。對于NT進程中服務(wù)來說這并不是一個問題。類似于IIS宿主,WCF自宿主應(yīng)用程序配置文件必須列出你想宿主的服務(wù)的類型并且暴露給外界。而且,該宿主進程必須在運行時刻顯式地注冊服務(wù)類型并且打開該宿主以便于客戶端調(diào)用。典型地,這是在Main()方法中使用如下定義的助理類ServiceHost實現(xiàn)的:

  1. public interface ICommunicationObject : IDisposable  
  2. {  
  3. void Open();  
  4. void Close();  
  5. //更多成員  
  6. }  
  7. public abstract class CommunicationObject :  
  8. ICommunicationObject  
  9. {...}  
  10. public class ServiceHostBase : CommunicationObject,...  
  11. {...}  
  12. public class ServiceHost : ServiceHostBase,...  
  13. {  
  14. public ServiceHost(Type serviceType,  
  15. params Uri[]baseAddresses);  
  16. //更多成員  

提供給ServiceHost的構(gòu)造函數(shù)的信息有:服務(wù)類型和(可選)默認的基地址。該基地址集可以是一個空集(以后,你可以配置不同的基地址)。擁有一組基地址能夠使服務(wù)接受在多個地址和協(xié)議上的調(diào)用。注意,每個ServiceHost實例都關(guān)聯(lián)與一個特定的服務(wù)類型,并且如果宿主進程需要宿主多個類型的服務(wù)的話,你需要一些匹配的ServiceHost實例。通過調(diào)用宿主中的ServiceHost.Open()方法,你允許調(diào)入(call- in);并且通過調(diào)用ServiceHost.Close()方法,你可以體面地退出宿主實例并完成到當前客戶端的數(shù)據(jù)發(fā)送,并且還要拒絕未來的客戶端調(diào)用-即使宿主進程仍在運行中。典型地,關(guān)閉操作是在WCF自宿主進程關(guān)閉時實現(xiàn)的。例如,為了把這個服務(wù)宿主在一個Windows表單應(yīng)用程序中:

  1. [ServiceContract]  
  2. interface IMyContract  
  3. {...}  
  4. class MyService : IMyContract  
  5. {...}  
  6. 你可以編寫:  
  7. public static void Main()  
  8. {  
  9. Uri baseAddress = new Uri("http://localhost:8000/");  
  10. ServiceHost serviceHost;  
  11. serviceHost = new ServiceHost(typeof(MyService),baseAddress);  
  12. serviceHost.Open();  
  13. //能夠攔截調(diào)用:  
  14. Application.Run(new MyForm());  
  15. serviceHost.Close();  
  16. }  
責任編輯:田樹 來源: 博客
相關(guān)推薦

2009-11-09 11:31:47

WCF消息隊列

2009-10-28 09:48:31

VB.NET XmlR

2015-09-22 15:24:27

SDNDocker

2015-09-22 16:11:41

SDNDocker

2009-10-28 13:54:38

linux安裝顯卡驅(qū)動

2009-10-28 12:05:32

linux監(jiān)控技術(shù)

2011-04-13 09:40:27

2009-11-03 16:57:34

ADO.NET FAQ

2009-11-12 14:18:19

ADO.NET分頁

2009-10-27 13:14:35

VB.NET窗體應(yīng)用

2009-10-28 18:35:10

Linux基礎(chǔ)用戶

2009-10-28 14:51:33

VB.NET設(shè)計制作窗

2009-11-03 16:17:39

ADO.NET Ent

2025-04-17 08:28:13

2009-10-27 15:42:04

VB.NET文件對象

2009-11-16 14:52:16

PHP數(shù)組

2009-11-18 18:18:10

PHP Web查詢數(shù)據(jù)

2016-01-14 14:17:51

密碼管理密碼分析安全工具

2017-07-05 11:09:35

華為開發(fā)云
點贊
收藏

51CTO技術(shù)棧公眾號