过去几天我一直在尝试将一个相当大的Web应用程序从IIS6迁移到IIS7,但每次看起来我们已经完成了,IIS7无法加载aspx页面。
该应用程序是一个.net 3.5 webapp,它大量使用反射和Web服务。我们使用2个主要组件(每个组件在IIS7中都有自己的网站,尽管它们共享一个应用程序池):Web UI(aspx页面)和webAPI(asmx页面)。
webAPI部分运行完美(据我们所知;我们无法从浏览器中测试一些内容),并且Web UI页面加载静态HTM页面就好了。问题是,一旦我们尝试查看aspx页面(任何aspx页面),整个事情就会停止;事件查看器中没有记录错误,直到几分钟后我们收到IIS 5010警告(工作进程忽略ping)。
我们尝试以两种不同的方式迁移应用:
无论哪种方式,从用户的角度发生的事情都是一样的。
不幸的是,我们甚至无法将调试器附加到工作进程,因为它似乎没有加载托管代码。
详细说明:
注意:
更新
答案 0 :(得分:1)
http://support.softartisans.com/kbview.aspx?ID=1318
原来这是供应商控制的问题。希望他们的解决方案确实有效......
答案 1 :(得分:0)
尝试重新注册ASP.NET:
http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx
典型的命令行语法是命令行到ASP.NET 2.0版本的框架并输入:
aspnet_regiis -i
答案 2 :(得分:0)
您是否正在为应用程序池使用“经典”管道模式。 “集成”一个是IIS7中的默认值,它引入了配置方面的更改。 (一个例子是在web.config中需要不同配置的HttpHandlers)。
“Classic”模仿IIS6应用程序池,并且应该使用与IIS6相同的配置。
如果您更喜欢使用集成管道,有些工具会自动尝试转换您的配置文件。
Scott Hanselman在他的blog post中介绍了其中的一些工具。