2

我在 ASP.NET 2.0 中实现了一个 Web 服务,并使用 aspnet_compiler 对其进行了预编译。

我现在不知道如何将它部署到 IIS,有人能指出我正确的方向吗?我在 Windows Server 2003 机器上使用 IIS 6.0。

我已将预编译文件放入虚拟目录,当我通过浏览器访问服务时,我收到以下解析器错误消息:

解析器错误消息:页面必须有
<%@ webservice class="MyNamespace.MyClass" ... %> 指令。

然后我检查了 .asmx 文件中的指令,编译器将其内容更改为:

这是预编译工具生成的标记文件,请勿删除!

更新:当我将未预编译的 web 应用程序放在虚拟目录中时,它工作正常,当我将预编译的 wen 应用程序放在虚拟目录中时,出现上述错误。

有人有想法么!?

4

2 回答 2

2

您可以将输出目录的内容复制到 IIS 上的虚拟目录中,它应该都能正常工作。您将需要设置应用程序池并为 ASP.NET 配置虚拟目录,就像未编译的网站一样。确保从虚拟目录中删除所有内容(如果那里有以前的未编译站点)。

您还可以使用Web 部署项目,它可以作为 MSI 安装程序的输入。

ASMX 文件内容正确。您确定您已使用应用程序配置了虚拟目录吗?通过右键单击虚拟目录打开属性窗口并确保“应用程序名称”(在“虚拟目录”选项卡上)已设置并可编辑。

是否还在选项卡上选择了正确的 ASP.NET 版本?在属性窗口的“ASP.NET”选项卡上检查这个”

于 2009-01-19T23:28:36.843 回答
1

您是否部署了整个 bin 目录?您需要确保由 aspnet_compiled 创建的 .COMPILED 文件位于您的 bin 目录中。

于 2009-02-03T20:33:07.627 回答