如何:在托管代码中部署 Web 服务

更新:2007 年 11 月

当使用 Visual Studio .NET 以托管代码创建 Web 服务时,使用的是标准开发模型:编译项目,然后将最终文件部署到成品服务器上。项目 .dll 文件包含 Web 服务代码隐藏类文件(.asmx.vb 或 .asmx.cs)和项目中包含的所有其他类文件,但不包含 .asmx 文件本身。然后,不使用任何源代码将此单个项目 .dll 文件部署到成品服务器。当 Web 服务接到请求时,会加载并执行项目 .dll 文件。

编译和部署托管代码中的 Web 服务

假设您具有一个名为 WebService1 的简单的 ASP.NET Web 服务项目,该项目包含以下内容:

  • 名为 Service.asmx 的 Web 服务输入页。

  • 名为 Service.vb(或 .cs)的代码文件。

当编译项目时,发生以下情况:

  • Visual Studio 保存上一次生成之后您修改的项目中的所有文件。

  • Visual Studio 将 Service1.asmx 文件和默认的项目文件复制到开发 Web 服务器。

  • Service.vb(或 .cs)类文件和 Global.asax 类文件被编译到项目 .dll 文件中,然后该 .dll 文件又被复制到服务器中目标虚拟目录的默认 \bin 目录中。如果项目被设置为编译调试版本,则 Visual Studio 在 \bin 目录中创建项目 .pdb 文件。

    6x71sze4.alert_note(zh-cn,VS.90).gif说明:

    如果发生编译错误,部署将不能成功。有关更多信息,请参见如何:调试托管代码中的 Web 服务

若要将 Web 服务部署到开发服务器以外的服务器,可以添加 Web 安装项目或者将所需的文件复制到目标服务器。若要使 Web 服务可由他人使用,必须将其部署到想要支持的客户端可以访问的 Web 服务器上。有关更多信息,请参见部署应用程序和组件如何:复制项目

通过复制项目来部署 Web 服务

  1. 在“解决方案资源管理器”中,选择要复制的项目。

  2. 在“网站”菜单上单击“复制网站”。

  3. 单击“连接到:”下拉框后面的图标来打开“打开网站”对话框。

  4. 在“打开网站”框中选择要将该项目复制到的位置。

  5. 使用箭头图标,从源网站选择要复制到远程网站的文件。

  6. 单击“复制网站”以复制该网站。

部署 Web 服务之后,您需要考虑如何使开发人员可以定位它(如果您要让其他人使用它)。有关更多信息,请参见 如何:为 XML Web services 启用发现

请参见

其他资源

在托管代码中创建 Web 服务

Windows Installer 部署演练

项目属性 (Visual Studio)