如何在Windows工作流中接收活动的相关句柄中处理方括号

时间:2013-11-05 19:55:47

标签: workflow-foundation workflowservice

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

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

  2. 我无法满足相关条件。我尝试过“[某些数据]”,“%[某些数据]”,“[some data” - 但似乎没有任何效果。

  3. 对于如何处理相关变量可能包含方括号的情况,是否有一些建议?我可以对现有的工作流程做些什么 他们可以满足相关条件吗?

    修改

    我发现,我的具体问题在于相关性。我以编程方式创建工作流服务,接收活动看起来像:

    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包含右方括号“]”。

    谢谢, 埃里克

0 个答案:

没有答案