博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF中双工协议
阅读量:5066 次
发布时间:2019-06-12

本文共 2465 字,大约阅读时间需要 8 分钟。

服务端配置文件
1  
2
3
4
5
6
7
8
9
10
11
12 13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
59 60
配置文件

 

服务端双工协议执行类接口注明回调约束ICallBack

[ServiceContract(CallbackContract =typeof(ICallBack))]    public interface ICallBackContract    {        [OperationContract]        int Plus(int x,int y);      }

服务端设置回掉类库

public interface ICallBack    {        ///         /// 回调        ///         ///         ///         ///         [OperationContract(IsOneWay =true)]        void Show(int x,int y,int iResult);    }
回调类库

服务端实现方法

public class CallBackContractService : ICallBackContract    {        public int Plus(int x, int y)        {            int result = x + y;            Thread.Sleep(2000);            ICallBack callBack = OperationContext.Current.GetCallbackChannel
(); callBack.Show(x, y, result); return result; } }
服务端实现类

客服端实现调用继承服务端的实现类库

public class CallBackService : MyCallBack.ICallBackContractCallback    {        public void Show(int x, int y, int iResult)        {            Console.WriteLine($"回调显示:{x}+{y}={iResult}");        }    }
客户端实现回掉逻辑

客户端调用代码

static void Main(string[] args)        {            MyCallBack.CallBackContractClient client = null;            try            {                                InstanceContext instanceContext = new InstanceContext(new CallBackService());                client = new MyCallBack.CallBackContractClient(instanceContext);                int a=client.Plus(1, 2);                client.Close();            }            catch (Exception ex)            {                if (client != null)                    client.Abort();                Console.WriteLine(ex);            }                        Console.Read();        }
调用逻辑

 

转载于:https://www.cnblogs.com/zxp6/p/10597112.html

你可能感兴趣的文章
优先队列:左式堆
查看>>
我的学习之路_第十六章_xml
查看>>
nSamplesPerSec和nAvgBytesPerSec
查看>>
Flex Accordion 和 TabNavigator组件浏览器跳转问题
查看>>
服务器环境配置点滴
查看>>
jsp HTTP Status 405 - HTTP method GET is not supported by this URL
查看>>
CodeIgniter模型
查看>>
jQuery的位置信息和事件
查看>>
BZOJ - 2744 朋友圈 (二分图上的最大团)
查看>>
CSS布局
查看>>
2013/8月读书计划
查看>>
关于Struts2的通配方法、转发重定向
查看>>
网络工程:1.2 CISCO 路由设备登录命令
查看>>
myeclipse中ALT+/怎么不管用了
查看>>
Linux下高并发socket最大连接数所受的各种限制
查看>>
kbmmw 5.06.00 beta 发布
查看>>
java ee思维导图
查看>>
iOS开发网络篇—HTTP协议 分类: ios开发 ...
查看>>
金九银十,史上最强 Java 面试题整理。
查看>>
hdu 5430 Reflect (数学推导题)
查看>>