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

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

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

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

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

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

  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. //能夠攔截調用:  
  14. Application.Run(new MyForm());  
  15. serviceHost.Close();  
  16. }  
責任編輯:田樹 來源: 博客
相關推薦

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安裝顯卡驅動

2009-10-28 12:05:32

linux監控技術

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-28 18:35:10

Linux基礎用戶

2009-10-27 13:14:35

VB.NET窗體應用

2009-10-28 14:51:33

VB.NET設計制作窗

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數組

2009-11-18 18:18:10

PHP Web查詢數據

2016-01-14 14:17:51

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

2017-07-05 11:09:35

華為開發云
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品国产精品三级精品av网址 | 中文在线一区 | 男人的天堂avav | 精品1区 | 亚洲高清视频在线 | 国产免费一区二区三区 | 午夜在线电影网 | 99久久中文字幕三级久久日本 | 一区二区三区精品 | 久久久91 | 超级碰在线 | 久久久久久久久久久国产 | 天天干夜夜操 | 华丽的挑战在线观看 | 精品久久久久久久久久久久久久 | av一级 | 久久久国产精品网站 | 成人欧美一区二区三区视频xxx | 懂色tv| 色综网 | 久久精品国产久精国产 | 国产真实精品久久二三区 | 91黄在线观看| 日本免费小视频 | 久久久网 | 超碰伊人| 亚洲电影一区 | 久久大 | 最新中文字幕一区 | 日韩一区精品 | 国产精品久久久久久一区二区三区 | 激情一区二区三区 | 日韩中文字幕在线视频 | 国产一区免费 | 免费在线观看av网站 | 中文字幕在线网 | 国产精品爱久久久久久久 | 欧产日产国产精品视频 | 亚洲精品视频免费看 | 亚洲性视频 | 亚洲成人精品影院 |