我有一个Windows工作流,它有一个Receive活动,它关联两个字符串变量x和y,其中y可能用方括号括起来,例如: “[一些数据]”。当y括在方括号中时,我注意到两件有趣的事情:
当序列化工作流时,对y的引用变为“%[some data]”。也就是说,在方括号之前插入一个百分比。
我无法满足相关条件。我尝试过“[某些数据]”,“%[某些数据]”,“[some data
” - 但似乎没有任何效果。
对于如何处理相关变量可能包含方括号的情况,是否有一些建议?我可以对现有的工作流程做些什么 他们可以满足相关条件吗?
修改
我发现,我的具体问题在于相关性。我以编程方式创建工作流服务,接收活动看起来像:
var receiveRequest = new Receive
{
DisplayName = "Receive",
OperationName = "DoIt",
CanCreateInstance = true,
ServiceContractName = "MyService",
SerializerOption = SerializerOption.DataContractSerializer,
Content = receiveParameters,
CorrelatesOn = new MessageQuerySet
{
{ "x", new XPathMessageQuery("sm:body()/foo:DoIt/foo:x", myNamespaceManager) },
{ "y", new XPathMessageQuery("sm:body()/foo:DoIt/foo:y", myNamespaceManager) },
},
CorrelatesWith = actionCorrelationHandle,
CorrelationInitializers =
{
new RequestReplyCorrelationInitializer
{
CorrelationHandle = requestReplyHandleVariable
}
}
};
以上工作正常,除非y包含右方括号“]”。
谢谢, 埃里克