强制客户端调用服务上的方法?

时间:2011-04-26 18:35:15

标签: wcf service

我想知道是否有办法强制客户端在双工WCF服务上调用特定方法。我的情况就是这样,我的服务实现将保留一组订阅者。这种方法的问题是,如果客户端不调用Subscribe()会怎么样?我在想,在我的客户端界面中,我有一个名为Subscribe的方法,但是由于实际调用该服务的代码仍然可以被排除在实现之外,因此这并没有让我感到满意。这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

Duplex WCF服务使用WCF会话,因此您可以使用以下方式标记您的Subscribe方法:

[OperationContract(IsInitiating=true)]
void Subscribe();

所有其他方法都有IsInitiating=false,因为Subscribe方法必须是第一个调用来启动新会话的方法。您还可以使用IsTerminating=true的特殊方法关闭会话。