我创建了一个 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 版本?

10-08 09:22
查看更多