zoukankan      html  css  js  c++  java
  • 虚拟目录webconfig的配置

        昨天需要新建一个虚拟目录放在以前的一个站点下,新建了应用池,配好了环境置顶路径,虚拟目录页建立成功 ,但是程序一直是报错。这个程序我在测试服务器上是测过的,新建了一个站点是可以正常访问的,排除了程序问题。

    一直是报500,在webconfig配置抛出错误的 customErrors节点也不起作用,后来把程序全部删掉放了一个静态页,是可以访问成功的,说明虚拟目录的配置也是没问题的,毫无头绪,在网上查了好久各种配置都试过了还是不行,今天无意中看见了一个帖子给我灵感,然后试了一下果然成功了

        虚拟目录的webconfig是继承了根目录的webconfig的所有配置的,所以如果有节点名称是一样的话就会有冲突报错。这时候很可能会出 http 500的错误

      这个时候有两种方法可以解决

    1.在根目录解除子目录的继承

    1 <configuration>
    2   <!--...其他配置...-->
    3   <location path="." inheritInChildApplications="false">
    4     <system.web>
    5 
    6     </system.web>
    7   </location>
    8   <!--...其他配置...-->
    9 </configuration>

    这里的inheritInChildApplications就是接触子目录webconfig的继承,将不需要子目录继承的节点放在这个节点里面就ok了

    这种方法的优点是很简单,但是不够灵活,同时面对较复杂的Web.config配置,仍可能会报错。比如根目录和子目录有着不同的system.webServer配置,按照这个方法在根目录的system.webServer外面加上了location限制,不幸的是,IIS7下会出现500错误。

    2.在子目录对冲突的节点处理

    根目录节点

    1 <connectionStrings>
    2     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
    3   </connectionStrings>

    子目录节点

    1 <connectionStrings>
    2     <clear/>
    3     <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
    4   </connectionStrings>

    在冲突的节点前先clear,清除之前的配置,然后再加载下面的配置就可以了,除了clear 还有remove也可以

     <connectionStrings>
        <remove name="DBConnectionString"/>
        <add name="DBConnectionString" connectionString="Data Source=.;Initial Catalog=test;User ID=sa;Password=sa123" providerName="System.Data.SqlClient"/>
      </connectionStrings>

    这种配置方法可以用在所有的节点上,使用起来也比较灵活,个人推荐用第二种方法。

    参考来自 http://blog.csdn.net/papalian/article/details/7204248  就是我看的那篇帖子,介绍的更为详细一些

    最后说一下,昨天从下午三点到晚上十点,今天上午又弄了一个小时。希望大家可以用得上,以后出现同样的问题直接就可以用了,大家也要多分享

  • 相关阅读:
    POJ 3252 Round Numbers
    HDU 1024 Max Sum Plus
    HDU 1024 Max Sum Plus Plus
    HDU 1698 Just a Hook
    HDU 1049 Climbing Worm
    HDU 3386 Reversi
    树状数组总结
    HDU 1556 Color the ball
    树形数组
    HDU 1188 敌兵布阵
  • 原文地址:https://www.cnblogs.com/Sprint-Guo/p/6228787.html
Copyright © 2011-2022 走看看