WCF适配器各种费类型化消息协定总结

开发 开发工具
WCF适配器的费类型化消息协定都有ITwoWayAsync 接口;ITwoWayAsyncVoid 接口;;ITwoWayAsyncVoidTxn 接口;IOneWayAsync 接口等等。

WCF框架是由微软研发的一款基于通信等方面的跨平台的解决方案。在实际使用中,体现了非常强大的功能。WCF适配器在接收消息时使用非类型化消息协定。#t#

通过使用非类型化消息协定,WCF 适配器可从客户端接收任何类型的 WCF 消息。您可通过 BizTalk 管理控制台中的“入站 BizTalk 消息正文”选项指定如何从传入 WCF 消息创建 BizTalk 消息。

下表中的 WCF 适配器服务协定用作 WCF 接收适配器的非类型化消息协定。

ITwoWayAsync 接口

用于 WCF 请求-响应接收位置。WCF适配器异步处理通过此接口传入的消息。

ITwoWayAsyncVoid 接口

用于不支持事务协议的 WCF 单向接收位置,WCF-NetMsmq 适配器除外。WCF适配器异步处理通过此接口传入的消息。

ITwoWayAsyncVoidTxn 接口

用于支持事务协议的 WCF 单向接收位置,WCF-NetMsmq 适配器除外。WCF适配器异步处理通过此接口传入的消息。

IOneWayAsync 接口

用于 WCF-NetMsmq 单向非事务性接收位置。WCF适配器异步处理通过此接口传入的消息。

IOneWayAsyncTxn 接口

用于 WCF-NetMsmq 单向事务性接收位置。WCF适配器异步处理通过此接口传入的消息。

BizTalkServiceInstance 类

实现WCF适配器用于接收传入消息的服务协定。WCF 适配器为每个接收位置创建一个单独的 ServiceHost 和此类的单个服务对象,以便在运行 WCF 接收位置的 BizTalk 主机实例的生存期内处理客户端请求。该服务对象使用多个线程来并行处理消息,除非 WCF-NetMsmq 接收位置与所选定的“按序处理”属性一起使用。
 

WCF 适配器根据 WCF 接收位置中配置的通道堆栈,来选择某个 WCF 服务协定以接收消息。

对于标准 WCF 适配器,通道堆栈是由接收位置的 WCF 配置属性自动配置的。为了确定使用哪个服务协定,WCF 适配器将针对 WCF 接收位置的绑定调用带有 IReplyChannel、IReplySessionChannel 和 IDuplexSessionChannel 的 Binding.CanBuildChannelListener 方法。

如果任一方法调用返回 True,则使用以 ITwoWayAsync 开始的服务协定来确保至少一次送达。否则,将使用以 IOneWayAsync 开始的服务协定来接收消息。接着,WCF适配器将为以下情况选择以 Txn 结尾的服务协定:

TransactionFlowBindingElement 被添加到启用了事务流的通道堆栈。

MsmqTransportBindingElement 被添加到 ExactlyOnce 属性设置为 True 的通道堆栈。

实现 ITransactedBindingElement 的绑定元素被添加到 TransactedReceiveEnabled 属性设置为 True 的绑定。

如果为 WCF 请求-响应接收位置添加了 OneWayBindingElement,则通过该接收位置传入的消息可能会丢失,因为 OneWayBindingElement 在将消息调度到WCF适配器之前即生成了一个虚拟响应。

责任编辑:曹凯 来源: microsoft.com
相关推荐

2010-03-01 17:35:29

WCF协定

2009-11-06 16:22:35

WCF协定

2022-02-18 17:21:29

适配器模式客户端

2020-10-25 08:56:21

适配器模式

2012-09-19 15:29:26

Worklight适配器

2009-12-21 10:26:09

Oracle适配器

2018-10-11 10:38:31

前端JavaScript编程语言

2012-05-16 17:22:11

Java设计模式

2009-11-18 18:08:20

PHP适配器模式

2015-08-07 10:05:37

recyclervie超省写法

2013-11-26 16:39:21

Android设计模式

2021-02-18 08:39:28

设计模式场景

2014-12-17 09:57:01

AndroidAdapteViewHolder

2011-04-28 09:54:50

jQuery

2013-02-26 10:55:47

C#适配器设计模式

2022-02-13 23:33:24

设计模式Java

2021-02-16 08:16:09

适配器模式MybatisJava

2021-08-06 06:51:16

适配器配置Spring

2009-11-11 17:12:25

ADO.NET批处理

2013-12-10 09:44:00

网络适配器卸载
点赞
收藏

51CTO技术栈公众号