确定BizTalk 2006中的邮件的接收端口或位置

Jos*_*mes 2 biztalk biztalk-2006

我需要通过检查接收端口/位置的名称,或者使用名称填充上下文属性,或者使用我可以在每个端口上定义的一些静态字符串来知道接收到给定消息的接收端口或位置地点

我将在自定义反汇编程序中使用此信息对消息执行一些操作,但我需要知道消息的哪个端口,以便我知道我需要对消息执行什么样的工作.我非常有信心我知道如何在这样的自定义组件中读取上下文属性,但我无法弄清楚如何在之前填充它.我无法弄清楚消息本身的任何地方是否记录了消息传入的端口.

Dav*_*all 5

Abhilash的博客上有一个很好的可用上下文属性列表.

你想要的是ReceivePortName,所以在你的管道中你会想要像:

public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)    
{    
    IBaseMessageContext context = pInMsg.Context;
    string portName = context.Read("ReceivePortName", "http://schemas.microsoft.com/BizTalk/2003/system-properties").ToString();
}
Run Code Online (Sandbox Code Playgroud)