我需要通过检查接收端口/位置的名称,或使用名称或可以在每个端口/上定义的一些静态字符串填充上下文属性来知道通过哪个接收端口或位置接收给定消息地点
我将在自定义反汇编程序中使用此信息对消息进行一些处理,但我需要知道消息的哪个端口,以便我知道我需要对消息做什么样的工作。我非常有信心我知道如何在这样的自定义组件中读取上下文属性,但我只是不知道如何更早地填充它。而且我无法弄清楚消息进入的端口是否在消息本身的任何地方都注明。
我需要通过检查接收端口/位置的名称,或使用名称或可以在每个端口/上定义的一些静态字符串填充上下文属性来知道通过哪个接收端口或位置接收给定消息地点
我将在自定义反汇编程序中使用此信息对消息进行一些处理,但我需要知道消息的哪个端口,以便我知道我需要对消息做什么样的工作。我非常有信心我知道如何在这样的自定义组件中读取上下文属性,但我只是不知道如何更早地填充它。而且我无法弄清楚消息进入的端口是否在消息本身的任何地方都注明。
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();
}