保护WCF数据服务元数据

时间:2014-01-22 21:18:24

标签: metadata wcf-data-services

我在天蓝云服务中的Webrole中运行了WCF数据服务(5.6)。我不想透露元数据,但无论我如何设置行为,它仍然会返回元数据。

这是来自web.config的片段

<system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- To avoid disclosing metadata information, set the value below to false before deployment -->
          <serviceMetadata httpGetEnabled="false"  httpsGetEnabled="false" />
          <!-- To receive exception details in faults for debugging purposes, set the value below to true.  
               Set to false before deployment to avoid disclosing exception information -->
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>

...

非常感谢任何帮助

阿尔贝托

2 个答案:

答案 0 :(得分:0)

如果您不想公开元数据,请尝试完全删除<serviceMetadata>节点。

答案 1 :(得分:0)

您选择的单词似乎意味着您认为元数据在某种程度上是敏感的并且应该受到保护。这完全是错的。如果我可以建议这可能是XY problem,你能解释一下为什么你需要“保护”吗?

如果您的需求包含安全以外的其他方面,那么请忽略这一点,但无论您做什么,请记住,这些元数据在很大程度上是首先使OData有用的原因。由于它,客户不需要重新定义数据模型(至少对于他们的DAL / DTO),而是可以在运行中自动生成并与服务器保持同步。手动完成后,通常需要为所有客户端软件开发人员完成大量工作。