none
如何禁用 WCF 的 WSDL? RRS feed

  • 问题

  • 我们的项目是用WCF做的服务,现在开发接近尾声,

    发布到服务器上后,我发现只要别人找倒*.SVC文件,就可以直接生成WCF的代理,那么我们所有的WCF方法无疑都被暴露了,

    那么如何才能在发布到服务器上后,禁用WSDL功能,让别人无法得知WCF中的契约方法?

    我在网上找到了这个配置:

    <system.web> 
     <webServices>
        <protocols>
          <remove name="Documentation"/>
        </protocols>
      </webServices>
    </system.web>

    但不起作用,文中说是禁用webservice的WSDL,我们用的是WCF,不是webservice,

    该怎么办?

    2016年3月22日 10:19

答案

  • 你好,

    WCF 有两种方法公开元数据的,一种是用 http-get = ture, 另一种是写一个mex 的 endpoint.

    你检查一下的你的config 文件,如果的mex 的endpoint 的话,删掉这个endpoint, 还有一个就是把http-get 的值改为 false.

    希望对你有帮助。

    Best regards,

    Cole Wu

    • 已标记为答案 jesse hao 2016年3月24日 10:05
    2016年3月24日 9:49