zoukankan      html  css  js  c++  java
  • application Initialization设置导致处理程序ExtensionlessUrlHandler-Integrated-4.0在其模块列表中有一个错误模块问题的解决

    HTTP 错误 500.21 - Internal Server Error

    处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandler”

    这个是第一次编译后会出现,一直有这个错误。过一会儿,这个时间不确定,然后再刷新这个页面就没错了。经过试验,无论你打开的是网站哪个页面。只要编译过项目,这个问题必然出现。

    网上搜索到的清一色都是这种解决方案:

    以管理员运行下面的命令注册:

    32位机器: c:windowsmicrosoft.netframeworkv4.0.30319aspnet_regiis.exe -i

    64位机器: c:windowsmicrosoft.netframework64v4.0.30319aspnet_regiis.exe -i

    但是,在我的电脑上,这种解决方案不起作用。担心是百度搜索不给力。然后用google搜索,但是搜索的答案都是这个。没其他的。又去stackoverflow网站,得到的也基本是这个答案。我甚至重装了.net framework 4.6.1,还更改过框架的支持,原来用的是4.52框架,改成4.6,仍然是这个问题。
     
    由于我这一段一直在用重构工具对代码进行优化,怀疑是不是重构代码问题。仔细检查,甚至用版本控制工具把代码恢复到改动前的,但仍然是这个问题。这个时候内心是崩溃的,因为时间拖了几天,一直没找到答案。唯一幸运的是,服务器没有这个问题。由于一直没有找到问题所在,我把这个错误页面的所有提示仔细的看了一遍又一遍,希望找到解决的线索。因为无论是哪个页面都是这个错误。最终把目光转向了web.config,也只有这里出问题才会导致这种错误吧。
    我用版本控制工具svn把web.config当前的代码与最近的一个代码版本一行一行的比较,最终找到了一行。
    <applicationInitialization remapManagedRequestsTo="" skipManagedModules="true" doAppInitAfterRestart="true">
    
    而老版本的是
    <applicationInitialization remapManagedRequestsTo="" skipManagedModules="false" doAppInitAfterRestart="true">
    
    skipManagedModules是false.心里一动,难道是这里的问题,因为我最近刚碰到过由于applicationInitialization导致的一个问题,而那个问题我解决费了四五个晚上,最终找到就是applicationInitialization的问题。再联想到错误提示是在其模块列表中有一个错误模块。而skipManagedModules设置的是true。意味着在网站初始化的时候跳过管理模块了。改为false,重新编译,这次恼人的错误提示终于不再有了。怕有问题,连续随便修改一个代码行做编译,都不再有这个错误提示。看来问题就是出在这里。这个applicationInitialization 不能使用true.
    这里我贴出applicationInitialization设置界面,及skipManagedModules的解释:
  • 相关阅读:
    [转载]oracle中的exists 和not exists 用法详解
    oracle中sql语句的优化(转帖)
    BizTalk Server 2010 使用 WCF Service [ 上篇 ]
    冒泡排序
    一起复习几何(4)
    手把手教你升级到 Mysql 5.5
    BizTalk Server 2010 映射器(Mapper) [ 上篇 ]
    基于OpenGL的渲染引擎
    BizTalk Server 2010 映射器(Mapper) [ 下篇 ]
    BizTalk Server 2010 映射器(Mapper) [ 中篇 ]
  • 原文地址:https://www.cnblogs.com/zxtceq/p/9647540.html
Copyright © 2011-2022 走看看