我们正在开发一个可以创建更多Web应用程序的Web应用程序。
每个Web应用程序都必须获取Url Rewrite规则(URL REWRITE MODULE 2.0)。
据我所知,没有修改web.config文件就没有办法添加这些规则(我是对的吗?)。
所以我的计划是使用多个web.config部分文件。一个主要的.config文件,每个应用程序有很多.config文件(每个文件都包含它的web应用程序url重写规则)。
这种方式听起来有点混乱,但我想不出其他任何事情,欢迎提出建议。
那么可以为根应用程序使用非常多的web.config文件吗?
提前致谢,Gal。
答案 0 :(得分:1)
以下标签可以解决问题。 当我在我的网站上运行两个不同的应用程序使用两个web.config文件时,没有这个标签是我遇到问题的主要原因。
**<location path="." inheritInChildApplications="false">**
<system.web>
<!-- ... -->
</system.web>
**</location>**
答案 1 :(得分:0)
每个应用程序都必须有一个完整的web.config而不是部分,如果你选择net 4
诀窍是在web.config中的另一个上使用很多删除命令,并删除不得在此使用的父设置。
例如,如果在主根上有一个您没有在其他树上使用它的模块,则在所有其他web.config上使用remove命令将其删除。特别是一个Bin上的模块,而不是其他目录bin上的模块。
<httpModules>
<remove name="TheHttoModuleNotNeedHere" />
<remove name="AnonymousIdentification" />
... add here your other modules for that directory...
</httpModules>
remove命令几乎适用于config上的所有会话。
你可以让它成功,我已经做到了,但是要找到所有冲突/不必要的配置并将其删除它需要做很多工作。
对于其他一些会话,还有清除命令。例如,在角色管理器上,您可以清除所有内容并添加新内容。
<roleManager enabled="true" ...>
<providers>
<clear />
<add name="MyName" ... type="System.Web.Security.SqlRoleProvider" />
</providers>
希望这个帮助可以作为使其发挥作用的提示。