1

我已经定义了一个实现 IDispatchOperationSelector 的自定义 OperationSelector,以便我可以在执行该方法之前拦截来自客户端的消息。我这样做是为了检查消息中包含的公钥/私钥值,并在需要时抛出授权错误,而无需在我的服务中放置任何身份验证逻辑。

到目前为止,这一切都很好,但我想为每个服务操作指定一个 [AuthenticationType] 属性,我可以检查这个 OperationSelector。有没有我可以参考,或者在OperationSelector中找到对应的合同和操作?如果是这样,怎么做?

4

1 回答 1

1

我建议将两者混合MessageInspector应用于整个合约,然后创建一个OperationBehavior将在底层注册操作名称的MessageInspector.

类似于此处显示的内容:http: //social.msdn.microsoft.com/Forums/en-US/wcf/thread/bcd94cf9-2881-4081-a05b-771a6e6f9c06/(Carlos Figueira 的回答)

这样,您的消息检查器最终会得到一个包含该属性的所有已注册操作的列表,并且检查器可以识别哪些需要验证,哪些不需要。

于 2013-02-03T22:21:55.217 回答