前几日服务器升级,统一将windows server 2003 升级到windows server 2008。相应的IIS也从6.0升级到了7.0,部署以前的服务后访问发现MagicAjax错误:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
The MagicAjax HttpModule is not included in web.config. Add [
<
httpModules
><
add
name
="MagicAjax"
type
="MagicAjax.MagicAjaxModule, MagicAjax"
/></
httpModules
>
] inside the
<
system
.web
>
section.
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: MagicAjax.MagicAjaxException: The MagicAjax HttpModule is not included in web.config. Add [ < httpModules >< add name ="MagicAjax" type ="MagicAjax.MagicAjaxModule, MagicAjax" /></ httpModules > ] inside the < system .web > section.
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[MagicAjaxException: The MagicAjax HttpModule is not included in web.config. Add [ < httpModules >< add name ="MagicAjax" type ="MagicAjax.MagicAjaxModule, MagicAjax" /></ httpModules > ] inside the < system .web > section.]
MagicAjax.MagicAjaxContext.get_Current() +125
MagicAjax.UI.AjaxControl.SetAjaxIntrinsics() +18
MagicAjax.UI.AjaxControl.OnLoad(EventArgs e) +18
MagicAjax.UI.Controls.AjaxPanel.OnLoad(EventArgs e) +14
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
________________________________________
版本信息: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: MagicAjax.MagicAjaxException: The MagicAjax HttpModule is not included in web.config. Add [ < httpModules >< add name ="MagicAjax" type ="MagicAjax.MagicAjaxModule, MagicAjax" /></ httpModules > ] inside the < system .web > section.
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[MagicAjaxException: The MagicAjax HttpModule is not included in web.config. Add [ < httpModules >< add name ="MagicAjax" type ="MagicAjax.MagicAjaxModule, MagicAjax" /></ httpModules > ] inside the < system .web > section.]
MagicAjax.MagicAjaxContext.get_Current() +125
MagicAjax.UI.AjaxControl.SetAjaxIntrinsics() +18
MagicAjax.UI.AjaxControl.OnLoad(EventArgs e) +18
MagicAjax.UI.Controls.AjaxPanel.OnLoad(EventArgs e) +14
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Control.LoadRecursive() +141
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
________________________________________
版本信息: Microsoft .NET Framework 版本:2.0.50727.3053; ASP.NET 版本:2.0.50727.3053
查找web.config文件,发现,没有异常,已经按照指示将相应的httpModules放到对应位置,而且在iis6下也没有问题,这是为什么呢?可能是IIS7.0的问题。网上搜索找不到明确解答,只好重新部署,查看过程中有何错误。部署后访问出现如下提示:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
应用程序“TTT”中的服务器错误
Internet 信息服务 7.0
错误摘要
HTTP 错误 500.22 - Internal Server Error
检测到在集成的托管管道模式下不适用的 ASP.NET 设置。
详细错误信息
模块 ConfigurationValidationModule
通知 BeginRequest
处理程序 StaticFile
错误代码 0x80070032
请求的 URL http://localhost:81/
物理路径 E:\TTT
登录方法 尚未确定
登录用户 尚未确定
最可能的原因:
• 此应用程序在 system.web/httpModules 节中定义配置。
可尝试的操作:
• 将配置迁移到 system.webServer/modules 节。也可以手动这样做,或通过在命令行中使用 AppCmd 来这样做 - 例如,%SystemRoot%\system32\inetsrv\appcmd migrate config "Default Web Site/"。使用 AppCmd 迁移应用程序将使它能够在集成模式下工作,并能继续在经典模式下和以前版本的 IIS 上工作。
• 如果您确信可以忽略此错误,则可以通过将 system.webServer/validation@validateIntegratedModeConfiguration 设置为 false 来禁用它。
• 也可以将应用程序切换到经典模式应用程序池 - 例如,%SystemRoot%\system32\inetsrv\appcmd set app "Default Web Site/" /applicationPool:"Classic .NET AppPool"。只有在无法迁移应用程序时才这样做。
(将“Default Web Site”和“Classic .NET AppPool”设置为您的应用程序路径及应用程序池名称)
链接和更多信息集成模式是在 IIS 7.0 上运行 ASP.NET 应用程序的首选模式。
执行:%SystemRoot%\system32\inetsrv\appcmd migrate config "TTT/" 问题解决