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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在WCF的IDispatchMessageInspector中获取调用方法?相关的知识,希望对你有一定的参考价值。

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

谢谢。

答案

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

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

alt text

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

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

另一答案

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

以上是关于如何在WCF的IDispatchMessageInspector中获取调用方法?的主要内容,如果未能解决你的问题,请参考以下文章

WCF 服务证书认证

WCF:如何禁用WCF测试客户端

如何在生产中配置 WCF 客户端?

如何在数据合同 WCF 中使用枚举

如何在android中使用WCF服务?

如何在windows服务中寄宿wcf服务的例子