有没有办法通过编程设置BizTalk消息上下文属性?

有没有办法通过编程设置BizTalk消息上下文属性?,biztalk,Biztalk,有没有办法将BTS.RetryCount或WCF.Action设置为非消息分配形状 我有一个用于动态消息发送的特殊编排,它的参数是message和ServiceName,并且它有一个动态端口,可以很容易地用UDDI服务配置。在该编排中我不能做的事情是,我不能为消息设置WCF.Action,我应该创建一个新消息,因为BizTalk中禁止在构造形状之外的任何位置修改消息。所以每次我想发送消息时设置这个属性对我来说非常不方便,我想我可以在一个专用的编排中完成所有的UDDI和路由工作,稍后我可以用参数调

有没有办法将
BTS.RetryCount
WCF.Action
设置为非消息分配形状


我有一个用于动态消息发送的特殊编排,它的参数是
message
ServiceName
,并且它有一个动态端口,可以很容易地用UDDI服务配置。在该编排中我不能做的事情是,我不能为消息设置
WCF.Action
,我应该创建一个新消息,因为BizTalk中禁止在构造形状之外的任何位置修改消息。所以每次我想发送消息时设置这个属性对我来说非常不方便,我想我可以在一个专用的编排中完成所有的UDDI和路由工作,稍后我可以用参数调用这些编排。

你不能在管道组件中修改这些属性吗?然后可以在业务流程内执行管道

更新


我的意思是,您可以创建一个管道组件来设置消息通过时的上下文属性。然后,您可以创建一个包含此组件的管道,并通过传递消息在业务流程中执行它。然后,此消息将设置这些上下文属性。

您不能在管道组件中修改这些属性吗?然后可以在业务流程内执行管道

更新


我的意思是,您可以创建一个管道组件来设置消息通过时的上下文属性。然后,您可以创建一个包含此组件的管道,并通过传递消息在业务流程中执行它。然后,此邮件将设置这些上下文属性。

您不能在分配形状中创建与需要修改的邮件类型相同的新邮件吗

NewMessage = OldMessageWithTheDynamicPropertiesSet;
并复制所有属性

NewMessage(*)* = OldMessageWithTheDynamicPropertiesSet(*);
然后设置需要设置的属性。您也可以这样设置WCF操作

NewMessage(WCF.Action)=....
NewMessage(BTS.REtryCount)= 666 

然后您将此新邮件发送出去。

您不能在分配形状中创建与需要修改的邮件类型相同的新邮件吗

NewMessage = OldMessageWithTheDynamicPropertiesSet;
并复制所有属性

NewMessage(*)* = OldMessageWithTheDynamicPropertiesSet(*);
然后设置需要设置的属性。您也可以这样设置WCF操作

NewMessage(WCF.Action)=....
NewMessage(BTS.REtryCount)= 666 

然后你把这条新消息发出去。

我不确定我是否正确理解了你的意思。“您不能在管道组件中修改这些属性吗?”?我没有用,我不确定我是否理解正确。“您不能在管道组件中修改这些属性吗?”?我不使用任何。你在文档的某个地方有actionname吗?像自定义头吗?不,它存储在UDDI中听起来像是一个有趣的解决方案。它是针对客户端还是客户的服务总线实现?或者你只是在测试东西?为什么这么有趣?我们在UDDI中存储有关连接系统的web服务的所有信息,这就是它的设计目的,对吗?我的意思很有趣。就像在有趣的地方一样。不要不尊重或批评对方。我只是没有看到很多使用UDDI的实现,所以我觉得它听起来很有趣。是的,我想这是我的初衷。或者至少有一个。文档中的某个地方有actionname吗?像自定义头吗?不,它存储在UDDI中听起来像是一个有趣的解决方案。它是针对客户端还是客户的服务总线实现?或者你只是在测试东西?为什么这么有趣?我们在UDDI中存储有关连接系统的web服务的所有信息,这就是它的设计目的,对吗?我的意思很有趣。就像在有趣的地方一样。不要不尊重或批评对方。我只是没有看到很多使用UDDI的实现,所以我觉得它听起来很有趣。是的,我想这是我的初衷。当然,是的,但这正是我想要避免的,因为我已经有一条新的消息要发送。复制消息是一种开销,正如我怀疑的那样,但是消息有多大?你计划每分钟或每小时发送多少?现在内存非常便宜。当然,是的,但这正是我想要避免的,因为我已经有了一条新的消息要发送。复制消息是一种开销,正如我怀疑的那样,但是消息有多大?你计划每分钟或每小时发送多少?现在内存非常便宜。