我创建了一个 ASMX Web 服务。现在它在 url 中显示带有定义、.asmx?wsdl 定义等的帮助页面。所以我找到了一种隐藏它的方法 here
它说“修改 Web.config 的 webServices 部分以明确删除文档协议(protocol)”
<webServices>
<protocols>
<remove name="Documentation" />
</protocols>
</webServices>
但就我而言,我在 web.config 中看不到任何标签。那么我应该在哪里添加这个?我错过了什么吗?
编辑 :
我刚刚在 web.config 中添加了以下几行,它删除了 MyBlank.aspx 的服务帮助页面,但仍然可以从浏览器中看到 .asmx?wsdl。
<webServices>
<wsdlHelpGenerator href="MyBlank.aspx"></wsdlHelpGenerator>
</webServices>
然后我再次发现,只是添加实际上会禁用帮助页面和 .asmx?wsdl 但它显示了描述 here 的服务错误消息。
现在我想知道这种方法有什么缺点或问题吗?
最佳答案
据我所知,我们不能完全禁用 WSDL 文档。但是您可以在 ASP.NET Web 服务中使用自定义 WSDL 文件。您使用的是哪个 VS 版本?