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

WCF雙向通信相關(guān)概念正確理解

開發(fā) 開發(fā)工具
在WCF雙向通信中,我們定義了兩個服務(wù),其中一個是供消費程序消費的,而一種則是在callBack的時候調(diào)用的服務(wù)。

WCF的出現(xiàn),給開發(fā)領(lǐng)域帶來了不小的變化。那么如何才能正確的應(yīng)用這一新的技術(shù)呢?在這里我們可以先從WCF雙向通信的相關(guān)概念開始了解,以此來進一步加深我們對這一工具的了解程度。#t#

WCF整合了Remoting和webService等等。而且開發(fā)簡單(相對的),它既彌補Remoting的只能在.net上運行,又彌補了asmx只能單向傳送消息的缺點。也就是說,WCF是實現(xiàn)跨平臺,在跨平臺的同時,也可以雙向通信。在WCF的編程思想中,無疑將SOA的思想體現(xiàn)的***。

首先要做的是就是定義服務(wù)契約。定義契約一般使用接口,使得實現(xiàn)和消費這個服務(wù)的雙方都要按照這個契約來實現(xiàn)相應(yīng)的接口。在雙向通信中至少要定義兩個服務(wù),一個服務(wù)是供消費程序消費的,另一個則是在callBack的時候調(diào)用的服務(wù),這個服務(wù)應(yīng)該由消費程序?qū)崿F(xiàn)。

其次,就是在服務(wù)端實現(xiàn)這些契約(說白了就是實現(xiàn)上面定義的接口)。在開發(fā)中,我們經(jīng)常會把這個實現(xiàn)獨立出來,方便在不同的宿主中發(fā)布這些服務(wù)。

***,實現(xiàn)客戶端。在WCF雙向通信中,客戶端也是服務(wù)端,因為它也實現(xiàn)了服務(wù)契約。

來段代碼:

  1. namespace Lin.Contract  
  2. {  
  3. [ServiceContract(CallbackContract=typeof(ICallBack))]  
  4. public interface IHello  
  5. {  
  6. [OperationContract]  
  7. void SayHelloTo(string userName);  
  8. }  
  9. }  
  10. namespace Lin.Contract  
  11. {  
  12. [ServiceContract]  
  13. public interface ICallBack  
  14. {  
  15. [OperationContract]  
  16. void ReceiveTime(DateTime time);  
  17. }  
  18. }  
  19. Service:  
  20. namespace Lin.Service  
  21. {  
  22. [ServiceBehavior(ConcurrencyModeConcurrencyMode = 
    ConcurrencyMode.Reentrant)]  
  23. public class ServiceHello : IHello  
  24. {  
  25. IHello 成員#region IHello 成員  
  26. public void SayHelloTo(string userName)  
  27. {  
  28. Console.WriteLine("Hello {0}", userName);  
  29. OperationContext.Current.GetCallbackChannel<ICallBack>()
    .ReceiveTime(DateTime.Now);  
  30. }  
  31. #endregion  
  32. }  
  33. }Host:  
  34. class Program  
  35. {  
  36. static void Main(string[] args)  
  37. {  
  38. using (ServiceHost host = new ServiceHost(typeof(ServiceHello)))  
  39. {  
  40. host.Open();  
  41. Console.Read();  
  42. }  
  43. }  
  44. }Client:  
  45. namespace Lin.Client  
  46. {  
  47. public class ClientCallBack:ICallBack  
  48. {  
  49. ICallBack 成員#region ICallBack 成員  
  50. public void ReceiveTime(DateTime time)  
  51. {  
  52. Console.WriteLine("服務(wù)器收到消息的時間是:{0}", 
    time.ToLongTimeString());  
  53. }  
  54. #endregion  
  55. }  

WCF雙向通信調(diào)用服務(wù):

  1. namespace Lin.Client  
  2. {  
  3. public class ClientHello : DuplexClientBase<IHello>, IHello  
  4. {  
  5. public ClientHello(InstanceContext instance) : base(instance) { } 

 

IHello 成員#region IHello 成員

 

  1. public void SayHelloTo(string userName)  
  2. {  
  3. base.Channel.SayHelloTo(userName);  
  4. }  
  5. #endregion  
  6. }  
  7. }  
  8. class Program  
  9. {  
  10. static void Main(string[] args)  
  11. {  
  12. Hello();  
  13. Console.Read();  
  14. }  
  15. static void Hello()  
  16. {  
  17. ClientCallBack callBack = new ClientCallBack();  
  18. ClientHello hello = new ClientHello(new InstanceContext(callBack));  
  19. string commandString = string.Empty;  
  20. while (commandString != "exit")  
  21. {  
  22. commandString = Console.ReadLine();  
  23. hello.SayHelloTo(commandString);  
  24. }  
  25. }  

以上就是我們對WCF雙向通信的相關(guān)介紹。

責任編輯:曹凱 來源: 博客園
相關(guān)推薦

2009-12-22 09:11:31

WCF雙向通信

2009-12-08 11:17:41

WCF雙向通信

2009-06-18 10:29:24

Hibernate I

2009-12-14 17:48:46

Ruby String

2020-01-07 15:10:32

Linuxinode命令

2010-08-04 16:41:01

2010-08-05 09:53:35

2009-12-04 18:00:46

PHP開發(fā)MVC模型

2010-07-20 12:35:33

SQL Server索

2010-02-01 10:54:37

C++框架

2024-01-29 00:35:00

Go并發(fā)開發(fā)

2023-12-27 19:52:08

Go模塊命令

2023-10-17 17:13:14

內(nèi)存程序源碼

2010-02-04 14:01:43

C++非類型類模板參數(shù)

2009-12-09 14:04:45

PHP include

2010-02-04 15:05:00

C++ cpuid指令

2010-01-18 17:29:35

VB.NET函數(shù)調(diào)用

2009-12-03 18:07:47

PHP轉(zhuǎn)義

2009-12-07 14:53:13

PHP抽象類應(yīng)用

2009-12-16 10:33:31

Ruby更新文件
點贊
收藏

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

主站蜘蛛池模板: 高清一区二区 | 亚洲天堂av网 | 成av在线 | 午夜精品在线观看 | 国产精品久久久久久吹潮 | 国产精品色一区二区三区 | 欧美伦理一区 | 91精品国产综合久久久久 | 亚洲免费人成在线视频观看 | 国产高清视频一区 | 国产一级在线 | 免费看的黄网站 | 大陆一级毛片免费视频观看 | 亚洲成人一区二区 | 91精品国产乱码久久久 | com.色.www在线观看 | 成人aaa视频| 亚洲精品中文字幕在线 | 成人午夜网| 久久国产精品一区二区三区 | 美女三区 | 久久国产日韩欧美 | 国产精品久久久久久一区二区三区 | 亚洲一区二区三区观看 | 超黄毛片 | 国产成人免费观看 | 密色视频 | 高清国产一区二区 | 国产激情一区二区三区 | 91 久久 | 成人片免费看 | 日韩www | 亚洲天堂精品一区 | 国产精品久久久久久久午夜片 | 亚洲福利片 | av在线免费观看网址 | www国产成人免费观看视频,深夜成人网 | 成人av电影在线观看 | 黑人精品欧美一区二区蜜桃 | 一级全黄视频 | 国产免费又黄又爽又刺激蜜月al |