如何:禁用 Web 服务的协议支持

本主题专门介绍一项旧有技术。现在应通过使用以下链接来创建 XML Web 服务和 XML Web 服务客户端: Windows Communication Foundation.

若要帮助降低意外调用 Web 服务的风险,应在不需要时禁用协议支持。您可以禁用整个计算机的协议支持,也可以禁用单个 Web 应用程序的协议支持。

为整个计算机禁用 HTTP-GET 和 HTTP-POST 协议

  1. 在文本编辑器中打开 Machine.config 文件。(Machine.config 的默认安装位置为安装根目录的 \Config 子目录。)

  2. 注释掉 webServices 部分中添加 HTTP-GET 和 HTTP-POST 支持的行(如果存在)。完成后,webServices 部分应类似于以下内容:

    <webServices>
        <protocols>
          <add name="HttpSoap"/> 
             <!-- <add name="HttpPost"/> --> 
             <!-- <add name="HttpGet"/>  -->
          <add name="Documentation"/>
          <add name="HttpPostLocalhost"/>
        </protocols>
    </webServices>
    
  3. 保存 Machine.config。

    当下次向该计算机上承载的 Web 服务发出请求时,此配置更改将生效。

为单个 Web 应用程序禁用协议支持

  1. 在文本编辑器中打开 Web 应用程序的根目录中的 Web.config 文件。(如果 Web.config 文件不存在,请创建一个。)

  2. 修改 Web.config 的 webServices 部分,以显式移除协议设置。下面的示例显式移除 HTTP-POST 和 HTTP-GET 协议:

    <webServices>
         <protocols>
           <remove name="HttpPost" />
           <remove name="HttpGet" />
         </protocols>
    </webServices>
    
  3. 保存 Web.config。

    当下次向该 Web 应用程序承载的 Web 服务发出请求时,此配置更改将生效。

另请参见

任务

如何:禁用 Web 服务的服务帮助页

概念

使用 ASP.NET 创建的 XML Web services 的配置选项
部署 XML Web services

其他资源

使用 ASP.NET 的 XML Web services