如何:在托管代码中部署 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 文件。
说明: 如果发生编译错误,部署将不能成功。有关更多信息,请参见如何:调试托管代码中的 Web 服务。
若要将 Web 服务部署到开发服务器以外的服务器,可以添加 Web 安装项目或者将所需的文件复制到目标服务器。若要使 Web 服务可由他人使用,必须将其部署到想要支持的客户端可以访问的 Web 服务器上。有关更多信息,请参见部署应用程序和组件和如何:复制项目。
通过复制项目来部署 Web 服务
在“解决方案资源管理器”中,选择要复制的项目。
在“网站”菜单上单击“复制网站”。
单击“连接到:”下拉框后面的图标来打开“打开网站”对话框。
在“打开网站”框中选择要将该项目复制到的位置。
使用箭头图标,从源网站选择要复制到远程网站的文件。
单击“复制网站”以复制该网站。
部署 Web 服务之后,您需要考虑如何使开发人员可以定位它(如果您要让其他人使用它)。有关更多信息,请参见 如何:为 XML Web services 启用发现。