默认情况下,当交换中的消息在接收端口的映射阶段失败时,将挂起整个交换。 可以通过将名为 BTS.SuspendMessageOnMappingFailure 的属性添加到消息上下文来更改此行为,并且可以从管道组件中设置上下文属性的值 True。 如果此属性设置为 True,终结点管理器会将映射过程中失败的消息放入挂起队列中,并继续处理交换中的剩余消息。
以下代码将 SuspendMessageOnMappingFailure 属性的值设置为 True。
public IBaseMessage Execute(IPipelineContext pc, IBaseMessage inmsg)
{
bool bSuspend = true;
inmsg.Context.Write("SuspendMessageOnMappingFailure", "http://schemas.microsoft.com/BizTalk/2003/system-properties", bSuspend);
…
}