您好我正在尝试绕过WCF服务,并且在元数据方面遇到了一些障碍。
我一直在做一些研究,从我正在阅读的内容中我已经认识到,只有在必要时才能启用元数据,因为它会增加服务的攻击面。与此同时,它似乎对它们的运作起了重要作用。
现在我的问题是元数据在WCF服务中的作用是什么,以及如何知道何时适合启用元数据?
我一直在MSDNA,但是解释有点神秘,任何人都可以用不同的方式解释它吗?
谢谢你们。
答案 0 :(得分:2)
根据经验,您需要暴露元数据的唯一时间是在开发和测试阶段。
MDSN页面上描述的元数据。
Windows Communication Foundation(WCF)提供基础结构 用于导出,发布,检索和导入服务元数据。 WCF服务使用元数据来描述如何与之交互 服务的端点,以便Svcutil.exe等工具可以 自动生成用于访问服务的客户端代码。
这只是意味着,元数据提供了工具机制,可以自动生成与服务交互所需的类和方法。
对于Visual Studio,元数据仅在您Add the Service Reference
或Update Service Reference
时使用。 Visual Studio将从WCF服务请求元数据,并构建\更新与服务交互所需的工件。
在正常执行期间,不会请求元数据,因为工件已经构建并且了解如何与服务进行交互。
但是,如果您更改服务架构,则必须重新启用元数据,以便更新服务引用。
还有其他地方要求提供元数据。如描述Svcutil.exe“和程序,如WCF测试器应用程序。
希望这有帮助。