我有一个WCF WF Web服务(工作流服务4.0),并且此服务的每个操作都具有相同的签名,但名称不同。
我的系统收到一个事件{int eventType, int entityId}
,需要使用配置将该事件发送到我上面提到的Web服务上的操作。
E.g。假设我有配置文件(将eventType映射到操作名称):
1 -> "StartOrder"
5 -> "StopOrder"
8 -> "ProcessPaymet"
9 -> "RepartFraud"
所以,如果我收到等于5的eventType
,我需要做类似的事情:
string operationName = eventTypeToOperationMap[eventType];
new ChannelFactory<IMyWebService>().CreateChannel().CallOperation(operationName, entityId);
和IMyWebService有一个方法:
void StopOrder(int entityId);
背景:IMyWebService
是一个Windows工作流基础4.0工作流服务。我希望能够为Web服务添加新的入口点,并更改事件调度程序的配置文件,而无需重新编译事件调度程序。
答案 0 :(得分:0)
您很可能需要调用另一个服务(或服务上的其他操作),该服务将eventType作为参数。在该操作中,您将创建一个新通道并调用相应的操作(就像您已经在做的那样)。