我在ASP.NET 2.0中实现了一个Web服务,并使用aspnet_compiler对其进行了预编译。
我现在不知道如何将其部署到IIS,有人能指出我正确的方向吗?我在Windows Server 2003计算机上使用IIS 6.0。
我已将预编译的文件放入虚拟目录,当我通过浏览器访问服务时,我收到以下解析器错误消息:
Parser Error Message: The page must have a <%@ webservice class="MyNamespace.MyClass" ... %> directive.
然后检查.asmx文件中的所述指令,编译器将内容更改为:
This is a marker file generated by the precompilation tool, and should not be deleted!
更新:当我将非预编译的Web应用程序放在虚拟目录中时,它工作正常,当我将预编译的wen应用程序放在虚拟目录中时,我收到上述错误。
任何人都有任何想法!?
答案 0 :(得分:2)
您可以将输出目录的内容复制到IIS上的虚拟目录中,它应该都可以正常工作。您需要设置应用程序池并为ASP.NET配置虚拟目录,就像未编译的网站一样。确保从虚拟目录中删除所有内容(如果之前有非编译站点)。
此外,您还可以使用Web Deployment个项目,这些项目可以作为MSI安装程序的输入。
ASMX文件内容正确无误。您确定已使用应用程序配置了虚拟目录吗?右键单击虚拟目录打开属性窗口,确保“应用程序名称”(在“虚拟目录”选项卡上)已设置并可编辑。
还在选项卡上选择了正确的ASP.NET版本?在属性窗口“
”的“ASP.NET”选项卡上检查这一点答案 1 :(得分:1)
你是否部署了整个bin目录?您需要确保aspnet_compiled创建的.COMPILED文件位于bin目录中。