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

问题描述 投票:1回答:2

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

谢谢。

wcf
2个回答
4
投票

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

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

alt text

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

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


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.