确定Biztalk 2006中消息的接收端口或位置
-
23-09-2019 - |
题
我需要知道通过检查接收端口/位置的名称,或用名称填充上下文属性,或使用我可以在每个端口/可以定义的静态字符串的上下文属性来收到给定消息的哪个接收端口或位置。地点
我将在自定义拆卸器中使用此信息来对消息进行一些工作,但是我需要知道该消息的哪个端口,以便我知道我需要为消息做什么样的工作。我非常有信心我知道如何在这样的自定义组件中读取上下文属性,但是我只是不知道如何以前填充它。而且我无法弄清消息是否在消息本身上的任何地方都注明了消息。
解决方案
有一个不错的可用上下文属性列表 Abhilash的博客.
您想要的是接收portname,因此在您的管道中,您想要类似的东西:
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();
}
不隶属于 StackOverflow