我正在尝试将一个小的asp.net应用程序添加到我现有网站的子文件夹中。问题是根web.config文件包含破坏我的应用程序的模块。我想阻止/删除Web.config继承。
父web.config
...
<system.webServer>
...
<modules>
<add name="WwwSubDomainModule" type="BlogEngine.Core.Web.HttpModules.WwwSubDomainModule, BlogEngine.Core" />
<add name="UrlRewrite" type="BlogEngine.Core.Web.HttpModules.UrlRewrite, BlogEngine.Core" />
...
</modules>
...
我无法在根目录中使用以下位置标记,因为还有其他子文件夹,我执行要继承。孩子有没有办法关闭父母的遗产?
<location path="." inheritInChildApplication="false">
Child web.config
...
<system.webServer>
...
<modules>
<clear/>
</modules>
...
我尝试使用clear但这导致了一个奇怪的解析错误: &#34; XML解析错误:找不到元素位置:...第1行,第1列:&#34;
如果我为每个模块使用删除,我会取得一些成功。只要我留下至少1个模块。 (与哪一个无关)当我删除最后一个模块时,我得到与clear相同的解析错误。任何人都知道为什么会发生这种错误?有没有其他方法可以消除web.config继承?
答案 0 :(得分:1)
对我来说,最简单的解决方案就是将应用程序设置为自己的应用程序,因为子文件夹包含一个应用程序,正如您所指的那样。您仍然可以将用户链接回您的其他父应用。只需设置子文件夹即可将所有请求重定向到其他应用程序。这听起来更像是一个建筑问题,但我只是根据少量信息进行猜测。
另一个选项是,如果您的父应用程序在web.config中引用程序集,请将其排除在子应用程序中。
我的最后一个建议是你可能只需要更好地分解源代码和应用程序的引用并重新编译。