none
恳请帮助:如何在客户端调用workflow services里面的canellationscope的canel功能 RRS feed

  • 问题

  •   模仿微软的案例写了一个审批流程,只有简单的三步“提交数据-审批-返回审批结果”。根据案例使用了cancellationscope设想可以在流程的任何环节

    取消工作流。在客户端目前可以调用相对应的“recevie”。但是一直无法实现取消功能。

    以下是按照案例的写的取消调用。但是运行时报错“远程服务器返回了意外响应: (405) Method Not Allowed。”

     WorkflowControlClient controlClient = new WorkflowControlClient(new BasicHttpBinding(), new EndpointAddress(new Uri("http://localhost:1642/")));
                controlClient.Cancel(id);

    2012年3月8日 3:05

答案

  • 你好,

    从代码片断看,WorkflowControlClient的地址应该是不正确的。例如,我们在服务端的配置是(这里使用默认的Service1):

        <services>
          <service name="Service1">
            <endpoint address=""
                binding="basicHttpBinding" bindingConfiguration="myBindingConfiguration"
                contract="IService" />
            <endpoint address="wce"
                binding="basicHttpBinding" bindingConfiguration="myBindingConfiguration"
                kind="workflowControlEndpoint" contract="IService" />
          </service>
        </services>
        <standardEndpoints>
          <workflowControlEndpoint>
            <standardEndpoint/>
          </workflowControlEndpoint>
        </standardEndpoints>

    用来控制远端工作流实例的代码如下:

    WorkflowControlClient controlClient = new WorkflowControlClient(
                    new BasicHttpBinding(),
                    new EndpointAddress(new Uri("http://localhost:xxxx/Service1.xamlx/wce")));

    controlClient.Cancel(id);


    Leo Tang [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2012年3月9日 6:38
    版主