加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 虚拟目录中的Web.config不会覆盖父网站的Web.config

发布时间:2020-12-16 07:12:25 所属栏目:asp.Net 来源:网络整理
导读:我有一个网站,其中有一个虚拟目录,其中还包含一个网站,当我尝试从虚拟目录启动一个页面时,我收到一个IIS 7.5错误,该名称(来自连接字符串)已经在该集合中.在我将域用户添加为应用程序池中的标识之前,这不是问题.有谁知道为什么会这样?我的印象是子级应用程序
我有一个网站,其中有一个虚拟目录,其中还包含一个网站,当我尝试从虚拟目录启动一个页面时,我收到一个IIS 7.5错误,该名称(来自连接字符串)已经在该集合中.在我将域用户添加为应用程序池中的标识之前,这不是问题.有谁知道为什么会这样?我的印象是子级应用程序的web.config默认覆盖了父级.而且,这一直有效,直到我添加了自定义标识.

The error on the page is “Parser Error Message: The entry ‘dbname’ has already been added.”

其中dbname位于两个连接字符串中(即父目录和虚拟目录).我无法删除其中一个连接字符串,因为虚拟目录仅用于测试目的,但在生产中它作为自己的网站运行.

解决方法

无论应用程序如何,子web.config都不会覆盖父级.所有web.configs都会一直堆叠到主应用程序的根目录.为了使子应用程序文件夹能够使用已在使用的连接字符串密钥,必须首先删除它,或者必须清除所有连接字符串.如果你想让它成为一个真正独立的应用程序,那么将它添加到你的连接字符串:

<connectionStrings>
    <clear />
    <your connection string>
<connectionStrings>

如果您只想删除单个连接字符串,请使用以下命令:

<remove key="yourConnectionStringName" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读