保护.net Web服务URL

时间:2010-04-08 09:29:03

标签: asp.net web-services security .net-3.5

我使用Asp.net 3.5创建了Web服务。现在它在实时Windows服务器中运行完美,并在使用以下网址调用它时给我完美的xml:

http://www.somedomain.com/Service.asmx?op=fetchData

现在我的问题是当我访问网址时:

http://www.somedomain.com/Service.asmx

它列出了我创建的Web服务。

如果我不想向最终用户列出可用的Web服务,该怎么办?

提前致谢...

1 个答案:

答案 0 :(得分:6)

如果您只想禁用服务帮助页面,请将以下内容添加到web.config的system.web部分:

<webServices>
   <wsdlHelpGenerator href="HideServices.aspx"/>
</webServices>

其中,HideServices.aspx是一个页面,其中包含当有人尝试浏览http://www.somedomain.com/Service.asmx时要显示的内容(可能是空白或通用消息)。

上面的配置确实通过?WSDL(http://www.somedomain.com/Service.asmx?WSDL)启用了WSDL生成。如果您也不想提供WSDL,那么请将以下内容添加到web.config的system.web部分:

<webServices>
  <protocols>
    <remove name="Documentation" />
  </protocols>
</webServices>