1

我有一个 Windows 工作流,它有一个与两个字符串变量 x 和 y 相关的接收活动,其中 y 可能包含在方括号中,例如“[某些数据]”。当 y 用方括号括起来时,我注意到两件有趣的事情:

  1. 当工作流被序列化时,对 y 的引用变为“%[some data]”。也就是说,在方括号之前插入一个百分比。

  2. 我无法满足相关条件。我已经尝试过 "[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 包含右方括号“]”。

谢谢,埃里克

4

0 回答 0