zoukankan      html  css  js  c++  java
  • 检测到在集成的托管管道模式下不适用的 ASP.NET 设置的解决方法

         在将应用程序从经典模式迁移到集成模式时,可以保留经典模式下的自定义模块和处理程序注册,也可以将这些注册移除。如果不移除经典模式下使用的 httpModules 和 httpHandlers 注册,则必须将 validation 元素的 validateIntegratedModeConfiguration 属性设置为 false 以避免错误。如果保留自定义模块,添加以下代码:

     <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />   
      </system.webServer>

    如果仅仅是将集成模式改成经典模式,那么就是治标不治本了。

    转摘一篇文章:  

    关于ESPS和SCSJ在Windows server 2008的问题总结

    SCSJ出现的问题在于集成模式和经典模式的选择上,系统本身是没有问题的。我们在部署系统的时候,选择了集成模式,导致WebConfig的HttpHandlers节点无法访问。

    在集成模式中,HTTP模块和HTTP处理程序不再定义于<system.web>中,而定义于<system.webServer>中。如果在集成模式中运行一个包括了HTTP模块或HTTP处理程序的web.config文件,那么将会发生失效。

    因为集成模式下,要想运行HTTP处理程序,必须在配置文件中添加一个<system.webServer><handlers>节点代替经典模式下的<system.web><httpHandler>节点。进行这种转换后,程序HTTP处理程序成功执行。

    具体的转换方式如下:

    在经典模式中,HTTP处理程序注册方式是添加一个<system.web><httpHandler>节点:

    在集成模式中,HTTP处理程序注册方式是添加一个<system.webServer><handlers>节点:

    使用集成模式,申请人姓名无法带出来,除非改成经典模式。

    使用集成模式,申请人可以带出来,因为使用了<system.webServer><handlers>节点进行HTTP处理程序的注册

    结论:本人觉得非常遗憾,两个系统之所以出错,其实都与程序无关,而与服务器的部署有关,关于这个问题的责任,其实也是程序员和系统管理员共同的责任。首先程序员不懂得windows server 2008的部署,不同的系统,不同的程序,其部署的选项随程序的写法而有所不同,我们不能怪系统管理员,因为系统管理员对系统的程序是不清楚的,所以我们不能祈求系统管理员能够帮我们部署成功。所以作为程序员,我们对系统的部署是要非常清楚的。

  • 相关阅读:
    最全的常用正则表达式大全--包括校验数字、字符、一些特殊的需求等【转】
    【转】浏览器“后退”、“前进”或可以这么去监听
    vue单页面title修改
    Vue.js中ref ($refs)用法举例总结
    js 程序执行与顺序实现详解
    $(document).ready和window.onload的区别 【转】
    linq to xml(C#)
    TCP/IP|| 建立连接或终止
    TCP/IP TCP
    TCP/IP DNS
  • 原文地址:https://www.cnblogs.com/wanglg/p/3515765.html
Copyright © 2011-2022 走看看