从MagicAjax到IIS7

  前几日服务器升级,统一将windows server 2003 升级到windows server 2008。相应的IIS也从6.0升级到了7.0,部署以前的服务后访问发现MagicAjax错误:

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 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: 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的问题。网上搜索找不到明确解答,只好重新部署,查看过程中有何错误。部署后访问出现如下提示:

 

代码

应用程序“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/"  问题解决

转载于:https://www.cnblogs.com/panggj/archive/2009/11/30/1613520.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值