WCF消息交换模式之请求-响应模式

WCF的消息交换模式(MEP)有三种:请求/响应、单向模式和双工模式。WCF的默认MEP是请求/响应模式。

请求/响应模式操作签名代码如下,无需指定模式,默认就是。

[OperationContractAttribute]
string Hello(string greeting,string mesg);

[OperationContractAttribute]
void SaveMesg(string mesg);

请求/响应模式内容:

  1. 客户端可以传递一个或多个参数给服务操作方法,服务操作方法会把返回值传回给相应的客户端调用者。
  2. 客户端会收到服务操作的返回值,即使服务操作返回的是void,客户端仍回收到空消息。
  3. 客户端如果是异步调用服务,则无需等待收到返回值就可继续往下执行其他代码,如果同步则需等待返回值。
  4. 如果服务端操作执行报错,客户端可以收到返回的错误信息。

参考网址:https://docs.microsoft.com/en-us/dotnet/framework/wcf/designing-service-contracts

服务操作返回SOAP错误信息内容:

可以在服务操作签名指定返回的错误对象为FaultException <TDetail>,该异常对象会转换为FaultContractAttribute指定的SOAP错误。

 接口:
 [OperationContract]
 [FaultContractAttribute(typeof(GreetingFault))]
 string SampleMethod(string msg);
 实现:
 public string  SampleMethod(string msg)
 {
  throw new FaultException<GreetingFault>(new GreetingFault("A Greeting error    occurred. You said: " + msg));
 }

参考网址:https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.faultexception-1?view=netframework-4.8

原文地址:https://www.cnblogs.com/bibi-feiniaoyuan/p/10644304.html

时间: 2024-10-21 14:11:13

WCF消息交换模式之请求-响应模式的相关文章

Servlet、SpringMVC、Struts2对请求-响应模式实现

从整个B/S程序的运行结构来看,J2EE的表示层解决方案实际上是对"请求-响应"模式的一种实现.既然谓之"请求-响应"也就势必存在着两大沟通角色: 请求对象和响应对象.Servlet.SpringMVC.Struts2对请求-响应的实现是分别基于参数-参数模式.参数返回值.和POJO模式的,由于这两大角色的承载载体和编程语言实现基础都不同,因此三种模式的可谓风格迥异. 参数-参数模式 参数-返回值模式 POJO模式 请求方 方法参数 方法参数 属性变量 响应方 方法

WCF初探-4:WCF消息交换模式之请求与答复模式

1.请求与答复模式( Request/Reply) 这种交换模式是使用最多的一中,它有如下特征: 调用服务方法后需要等待服务的消息返回,即便该方法返回 void 类型 相比Duplex来讲,这种模式强调的是客户端的被动接受,也就是说客户端接受到响应后,消息交换就结束了. 在这种模式下,服务端永远是服务端,客户端就是客户端,职责分明. 它是缺省的消息交换模式,设置OperationContract便可以设置为此种消息交换模式 接下来我们通过实例来演示一下,参照WCF消息交换模式之单向模式中的例子,

WCF初探-3:WCF消息交换模式之单向模式

1.单向模式(One-Way Calls): 在这种交换模式中,存在着如下的特征: 只有客户端发起请求,服务端并不会对请求进行回复 不能包含ref或者out类型的参数 没有返回值,返回类型只能为void 通过设置OperationContract的IsOneWay=True可以将满足要求的方法设置为这种消息交换模式 接 下来,我们通过实例来演示这种模式,首先新建一个WcfDemo1的解决方案,添加名称为Service的类库项目作为服务端,新建IOneWay接口和 OneWay类,由于单向模式中服

请求响应模式

消息传递方式 1.异步方式是一种单向调用,调用者不需要获得响应 2.请求-响应方式即请求方调用服务后,服务立即处理并返回响应结果,不需将消息再次传递. ============================== 3.同步方式即请求方调用服务后,component将处理结果发送给另一个外部服务处理,并将处理结果反方向返回. 4.异步请求-响应方式即请求方调用服务后不需要立即获得返回结果,component将请求发送给其他外围系统处理(可能有多个),全部处理完毕后通过指定的异步应答Router返回

WCF初探-5:WCF消息交换模式之双工通讯(Duplex)

双工通讯Duplex具有以下特点: 1它可以在处理完请求之后,通过请求客户端中的回调进行响应操作 2.消息交换过程中,服务端和客户端角色会发生调换 3.服务端处理完请求后,返回给客户端的不是reply,而是callback请求. 4.Duplex模式对Bindding有特殊的要求,它要求支持Duplex MEP(Message Exchange Pattern),如WSDualHttpBinding和NetTcpBinding 注意:在WCF预定义绑定类型中,WSDualHttpBinding和

[老老实实学WCF] 第九篇 消息通信模式(上) 请求应答与单向

老老实实学WCF 第九篇 消息通信模式(上) 请求应答与单向 通过前两篇的学习,我们了解了服务模型的一些特性如会话和实例化,今天我们来进一步学习服务模型的另一个重要特性:消息通信模式. WCF的服务端与客户端在通信时有三种模式:单向模式.请求/应答模式和双工模式. 如果选用了单向模式,调用方在向被调用方进行了调用后不期待任何回应,被调用方在执行完调用后不给调用方任何反馈.如客户端通过单向模式调用了一个服务端的操作后,就去干别的了,不会等待服务端给他任何响应,他也无从得知调用是否成功,甚至连发生了

BizTalk开发系列(三十)单向端口实现请求-响应

BizTalk本质上是异步的消息处理引擎.BizTalk的请求与响应模式是基于异步之上的同步消息交换.消息引擎通过消息的扩展架构链接许 多异步消息,消息的相关集关联请求与响应消息.例如,客户端发送一个SOAP请求到BizTalk SOAP适配器.连接该Web Service的BizTalk Orchestration接收处理消息.并返回一个SOAP响应消息.对于客户端程序来说是一个同步的SOAP请求.但在引擎内部则是通过并联交换许多 的异步消息来实现. 以下是请求-响应模式中的五个架构属性: B

WCF分布式开发步步为赢(10):请求应答(Request-Reply)、单向操作(One-Way)、回调操作(Call Back).

WCF除了支持经典的请求应答(Request-Reply)模式外,还提供了什么操作调用模式,他们有什么不同以及我们如何在开发中使用这些操作调用模式.今天本节文章里会详细介绍.WCF分布式开发步步为赢(10):请求应答(Request-Reply).单向操作(One-Way).回调操作(Call Back).本文结构:[1]请求应答(Request-Reply).[2]单向操作(One-Way).[3]回调操作(Call Back).[4]示例代码分析.[5]总结.最后上传本文的示例代码. WCF

Fiddler-006-修改HTTP请求响应数据

在进行 App 测试时,经常需要修改请求参数,以获得不同的显示效果,以查看相应的页面显示处理.例如:电商购物App中商品都有好几种状态(在售.缺货.暂不销售.下 架等).同时,一般这几种状态均为同一个按钮对应的多种情况,那么测试商品详情时,需要测试按钮在商品不同状态下的显示效果,就需要构建不同状态的商品, 若是多人测试不同的状态下的操作,那么就不能使用同一件商品同时进行测试,因为测试时,需要修改商品的状态,那么多人测试时会有影响.此时,测试页面显示 的朋友,则可以通过修改获取商品详情的HTTP请