2010-11-03 65 views
0

每次请求进入WCF服务时,我都需要运行一些类似于HTTP模块的代码。代码的一些示例可能是身份验证,限制,日志记录等。每次执行请求时执行模块的最佳方式是什么?如何在每个服务请求上运行代码?

编辑澄清

我们会做几件事情。首先,我们需要验证所有请求。每个请求都需要用户传递一些凭证,比如API密钥。在允许请求通过之前,我们需要验证密钥是否正确。

至于限制,我们需要限制特定用户可以进行的请求数量。比方说,每小时100或类似的东西。

+0

请更具体一些,以下tomasr问。 WCF非常灵活 - 您希望更清楚您想要实现的目标。 – 2010-11-03 21:03:13

回答

2

在WCF中有几个扩展点可以用于你想要的。不过,您可能需要为不同的目的使用不同的扩展点。

例如,对于日志记录,您可以使用IDispatchMessageInspectorIParameterInspector。对于错误处理,您可以使用IErrorHandler

节流并不是您通常使用的扩展功能,因为在许多情况下,内置的throttling settings可能就足够了。

至于认证,安全有它自己的一套扩展点,有几个选项,所以也许你可能想澄清(或发布一个新的问题)的具体细节,以便我们可以推荐适当的机制。

相关问题