ASMX Web服务的自定义WSDL

Bry*_*yan 4 c# wsdl web-services asmx

是否可以将自定义WSDL与.NET WebService一起使用?我想在.NET WebService中使用自定义WSDL,而不是.NET生成的自定义WSDL作为WebService的一部分.

Bro*_*ass 8

实际上有一种方法可以做到这一点:您可以创建自己的WSDL(即删除您不想发布的方法),然后在专用位置使其可用,这允许用户正常绑定它.

要防止用户只是检索默认的WSDL(foo.asmx?wsdl),您必须在Web服务的web.config中翻转一个开关:

  <webServices>
    <protocols>
      <remove name="Documentation"/>
    </protocols>
  </webServices>
Run Code Online (Sandbox Code Playgroud)

相关的MSDN部分:

注意删除文档协议还会禁用Web应用程序中任何XML Web服务的WSDL文件生成.这可以防止客户端生成代理类,除非为它们创建并提供了自定义WSDL文件.