wcf服务器处理客户端发来的消息,WCF 客户端与服务端消息传输

WCF很多需要认证信息,保证服务的安全,可以使用消息来实现

WCF 实现消息的方式:

WCF中有两个接口:

IClientMessageInspector 【定义一个消息检查器对象,该对象可以添加到

System.ServiceModel.Dispatcher.ClientRuntime.MessageInspectors集合来查看或修改消息]

IDispatchMessageInspector

【定义一些方法,通过这些方法,可以在服务应用程序中对入站和出站应用程序消息进行自定义检查或修改。】

括号中是 MS对接口的注释,最重要的地方时:可以实现多客户端和服务端消息的查看、修改;并且IClientMessageInspector

负责client端,IDispatchMessageInspector负责service端

下面看看两个方法:

1.IClientMessageInspector 定义了两个方法

void AfterReceiveReply(ref Message reply, object correlationState);

//收到回复后(执行)

object BeforeSendRequest(ref Message request, IClientChannel channel);

//发送请求之前(执行)

2.IDispatchMessageInspector 也定义两个方法

object AfterReceiveRequest(ref Message request, IClientChannel channel,

InstanceContext instanceContext);//收到请求后(执行)

void BeforeSendReply(ref Message reply, object

correlationState);//发送回复前(执行)

消息的具体内容就在四个方法的引用参数(reply,request);

现在我们知道消息在什么地方查看和维护了,怎样才能把这些功能与系统连接起来呢?那就是WCF提供的扩展机制之一的Behavior,

WCF提供的behavior有:IServiceBehavior,IEndpointBehavior,IOperationBehavior,IContractBehavior分别提供对

“服务”,“终结点”,“操作”,“协定”的相关信息的操作扩展点。

整个管道中,消息是放在DispatchRuntime.MessageInspectors中的,IServiceBehavior,IEndpointBehavior接口就提供了对MessageInspectors的访问,我们只需要把我们定义的实现了IClientMessageInspector,IDispatchMessageInspector的实体添加到这些MessageInspectors中就可以了。

如果对这种模式不是很理解就想想Asp.Net HttpModel,Asp.Net MVC 中的Filter,扩展点就是一组相同结构的实体集合。

下边是代码:代码功能就是 消息传递的一个小例子,代码就不单独贴出来了,下载例子一看就知道。

原文:http://www.cnblogs.com/beixing/p/3784555.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值