如何:控制 ASP.NET Web 服务的 WSDL 文件生成

更新:2007 年 11 月

使用 Visual Studio Team System Architecture Edition 中的应用程序设计器时,可以为 ASP.NET 应用程序上的所有 Web 服务禁用或启用 WSDL 文件生成。默认情况下,Visual Studio 会启用 WSDL 文件生成功能。有关更多信息,请参见 ASP.NET Web 服务的 WSDL 文件生成

说明:

禁用或启用 WSDL 文件生成功能会应用于 ASP.NET 应用程序上的所有 Web 服务。如果禁用 WSDL 文件生成功能,但不指定另一个位置的 WSDL 文件,将不会生成 Web 引用,并且将产生一个错误,指出在指定的位置找不到 WSDL 文件。如果禁用 WSDL 文件生成功能,还会同时禁用当从浏览器访问 Web 服务 URL 时生成的默认 ASP.NET 测试页。有关更多信息,请参见 如何:重写 WSDL 文件中的 WSDL 绑定定义

在实现之前,可以通过使用设置和约束编辑器来完成此任务。实现 ASP.NET 应用程序后,还可以在应用程序项目中的 Web.config 文件或将部署应用程序的 Web 服务器的 Machine.config 文件中移除或添加相应的设置,具体选择哪个文件取决于所需的范围。

对 ASP.NET 应用程序禁用 WSDL 文件生成功能

  1. 在应用程序关系图上单击所需的 ASP.NET 应用程序。

  2. 在“关系图”菜单上选择“设置和约束”。

  3. 在设置和约束编辑器中的“设置”下,展开“目录”节点,再展开“配置”节点。

  4. 右击“配置”节点,指向“添加资源”,然后选择“SystemWebSectionGroup”。

  5. 右击“SystemWebSectionGroup”节点,指向“添加资源”,然后选择“WebServicesSection”。

  6. 在设置和约束编辑器的右窗格中,展开“设置”节点。

  7. 在“协议”行上,单击“值”列,再单击“省略号”(“…”)按钮。

    随即出现 ComplexSetting 集合编辑器。

  8. 在“成员”列表中,选择“Documentation”,单击“移除”,再单击“确定”。

    以下项从应用程序的 Web.config 配置文件(该配置文件是在应用程序实现之后生成的)的 <System.Web> 节中删除:

    <add name="Documentation" />
    

    还可以从 Web 服务器的 Machine.config 文件中移除此项,这样将对该服务器上的所有 ASP.NET 应用程序禁用 WSDL 文件生成功能。

对 ASP.NET 应用程序启用 WSDL 文件生成功能

  1. 在关系图上选择所需的 ASP.NET 应用程序。

  2. 在“关系图”菜单上选择“设置和约束”。

  3. 在设置和约束编辑器中的“设置”下,展开“目录”节点,再展开“配置”节点。

  4. 展开“SystemWebSectionGroup”节点并选择“WebServicesSection”资源。

  5. 在设置和约束编辑器的右窗格中,展开“设置”节点。

  6. 在“协议”行上,单击“值”列,再单击“省略号”(“…”)按钮。

    出现 ComplexSetting 集合编辑器。

  7. 在 ComplexSetting 集合编辑器中单击“添加”。

    “成员”列表中出现一个新设置。

  8. 在设置属性列表中,将新设置命名为“Documentation”,然后单击“确定”。

    以下项添加到应用程序的 Web.config 配置文件(该配置文件是在应用程序实现之后生成的)的 <System.Web> 节中:

    <add name="Documentation" />
    

    还可以将此项添加到 Web 服务器的 Machine.config 文件中,这样将对该服务器上的所有 ASP.NET 应用程序启用 WSDL 文件生成功能。

请参见

其他资源

配置 ASP.NET Web 服务的 WSDL 文件生成