我的服务中有自定义属性的方法。我想在服务器端读取调用方法的属性,并检查它是否具有该属性。我怎么能做到这一点?
谢谢。
你不能 - 服务器端不能回到客户端并在其代码中读取属性。毕竟 - 这些可能在不同的机器上,甚至可能使用不同的编程语言和系统。 Java服务器如何读取您的.NET客户端属性?
查看显示WCF架构的图:左侧是客户端,右侧是服务器,所有将两者放在一起的是正在交换的消息。他们没有其他联系。
您可以做的是将自定义标头从客户端发送到服务器 - 然后,您的服务器 - 无论它是什么 - 都可以读取消息中的自定义标头并相应地执行操作。
消息在客户端和服务器之间传递 - 这是双方拥有的所有连接。消息中的任何内容(及其标题)都可以由服务器检查 - 其他任何内容都无法检查。
渣
我通过简单地实现IParameterInspector来解决这个问题。如文档所述,参数检查器在操作级别上工作。