AppFabric UI는 대부분 워크 플로 또는 WorkflowServiceHost와 직접 통신하지 않지만 WorkflowControlEndpoint 및 WorkflowControlClient을 사용합니다. 당신이 원한다면 코드에서 똑같이 할 수 있습니다.
WorkflowControlEndpoint는 기본적으로 NetNamedPipeBinding을 사용하여 자체를 노출하므로 다른 컴퓨터의 요청을 수락하려면 해당 워크 플로를 변경해야합니다.
WorkflowServiceHost의 설정 :
<service name="MyWorkflow“
behaviorConfiguration="MyWorkflowBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/MyWorkflow" />
</baseAddresses>
</host>
<endpoint address=""
binding="basicHttpBinding"
contract="IMyWorkflow" />
<endpoint kind="workflowControlEndpoint"
address="Control"
binding="basicHttpBinding" />
</service>
클라이언트 코드 :
var instanceId = <<an existing workflow instanceId>>;
var controlBinding = new BasicHttpBinding();
var controlAddress =
new EndpointAddress("http://localhost:8080/MyWorkflow/Control");
var proxy = new WorkflowControlClient(controlBinding, controlAddress);
proxy.Suspend(instanceId);
감사합니다! 나는 이것이 가능하다는 것을 알았다. –