我有一个 Windows 工作流,它有一个与两个字符串变量 x 和 y 相关的接收活动,其中 y 可能包含在方括号中,例如“[某些数据]”。当 y 用方括号括起来时,我注意到两件有趣的事情:
当工作流被序列化时,对 y 的引用变为“%[some data]”。也就是说,在方括号之前插入一个百分比。
我无法满足相关条件。我已经尝试过 "[some data]"、"%[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 包含右方括号“]”。
谢谢,埃里克