我必须将ASP.Net网站从IIS6迁移到IIS7。我试图将网站的所有文件从IIS6 (c:\inetpub\wwwroot\MySite)复制到Windows 2008 R2的另一个框中,其中IIS7是默认的web服务器。
然而,简单的拷贝似乎不起作用。我是应该为IIS7重新构建网站,还是应该使用IIS7 (如web.config )对新框进行更改?
谢谢你的评论。进一步的调查,我发现http手似乎是由例外引起的:
<!--httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false"/>
</httpHandlers-->在web.config中注释掉上述处理程序之后,网页就可以正常工作了。这只是我的初步测试。我不确定我是否应该从源代码重建网站。如果需要,是否需要为IIS7指定?
发布于 2011-05-12 13:54:05
在IIS7和IIS6中,HTTP处理程序的处理方式不同。有几件事你可以试试:
1)将应用程序池从“集成”模式更改为“经典”模式(可能不是首选,但肯定会使其工作)。
2)重新配置您的web.config文件(这可能是您应该走的路线)。在集成模式下,需要将http处理程序移到该节(IIS6在system.web部分中有它们)。
下面是一些您可能想要查看的其他信息:
http://msdn.microsoft.com/en-us/library/bb515251.aspx
注意,请看“将Web应用程序移动到集成模式”部分。
发布于 2011-06-13 13:33:24
同样,在<system.webServer>下也尝试:
<validation validateIntegratedModeConfiguration="false"/>否则,它将无法工作,因为Reporting处理程序使此模式无效。然后在<handlers>下
<add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />Obv取代了您的版本8。您还必须取消评论您所做的事情,因为它将预期它在那里。Reporting处理程序的旧版本并不真正了解IIS7。
基本上,处理程序需要在web.config的web.config部分和“经典”部分中注册。
https://webmasters.stackexchange.com/questions/10064
复制相似问题