如何在WCF的IDispatchMessageInspector中获取调用方法?

时间:2009-08-18 09:21:40

标签: wcf

我的服务中有自定义属性的方法。我想在服务器端读取调用方法的属性,并检查它是否具有该属性。我怎么能做到这一点?

感谢。

2 个答案:

答案 0 :(得分:4)

您不能 - 服务器端无法返回客户端并在其代码中读取属性。毕竟 - 这些可能在不同的机器上,甚至可能使用不同的编程语言和系统。 Java服务器如何读取您的.NET客户端属性?

查看显示WCF目标的图:左侧是客户端,右侧是服务器,所有将两者放在一起的是正在交换的消息。他们没有其他联系。

alt text

您可以做的是将自定义标头从客户端发送到服务器 - 然后,您的服务器 - 无论它是什么 - 都可以读取消息中的自定义标头并采取相应的行动。

消息正在客户端和服务器之间传递 - 这是双方拥有的所有连接。消息中的任何内容(及其标题)都可以由服务器检查 - 其他任何内容都无法检查。

马克

答案 1 :(得分:1)

我通过简单地实现IParameterInspector来解决这个问题。正如文档所述,参数检查器在操作级别上工作。