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的解释:
  • 相关阅读:
    【C#进阶系列】06 类型和成员基础
    纪中5日T1 1564. 旅游
    纪中17日T1 2321. 方程
    纪中17日T2 2322. capacitor
    纪中10日T1 2313. 动态仙人掌
    纪中14日听课小结 图论 最短路 二分图 差分约束
    一个抓猫的游戏 消遣GAME 持续更新中!
    洛谷P1464 Function  HDU P1579 Function Run Fun
    洛谷P1976 鸡蛋饼
    纪中12日T1 2307. 选择
  • 原文地址:https://www.cnblogs.com/zxtceq/p/9647540.html
Copyright © 2011-2022 走看看