具有多个 web.config 文件的 ASP.NET 3.5 应用程序 (IIS 7)

发布于 2024-10-04 23:59:58 字数 351 浏览 2 评论 0原文

我们正在开发一个可以创建更多 Web 应用程序的 Web 应用程序。

每个 Web 应用程序都必须获取 Url 重写规则 (URL REWRITE MODULE 2.0)。

据我所知,如果不修改 web.config 文件,就无法添加此类规则(我是对的吗?)。

所以我的计划是使用多个 web.config 部分文件。一个主 .config 文件,以及每个应用程序的许多 .config 文件(每个文件将包含其 Web 应用程序 URL 重写规则)。

这种方式听起来有点乱,但我也想不出别的办法了,欢迎提出建议。

那么根应用程序是否可以使用多个 web.config 文件?

预先感谢,加尔。

We are working on a web application that creates more web applications.

Each web application will have to get a Url Rewrite rule (URL REWRITE MODULE 2.0).

As far as I know, there's no way to add such rules without modifying the web.config file (am I right??).

So my plan was to work with multiple web.config partial files. One main .config file, and lots of .config files per application (every file will contain it's web application url rewrite rules).

This way sounds a little bit messy, but I can't think of anything else, and suggestions will be welcomed.

So is it possible to use very-multiple web.config files for the root application?

Thanks in advance, Gal.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅黛梨妆こ 2024-10-11 23:59:58

下面这个标签就可以解决问题。
当我为在我的网站上运行的两个不同的应用程序使用两个 web.config 文件时,缺少此标签是我出现问题的主要原因。

**<location path="." inheritInChildApplications="false">**
   <system.web>
     <!-- ... -->
   </system.web>
**</location>**

This following Tag will do the trick.
The absence of this tag was the main reason for my problem when i using with two web.config files for my two different application running in my website.

**<location path="." inheritInChildApplications="false">**
   <system.web>
     <!-- ... -->
   </system.web>
**</location>**
凉风有信 2024-10-11 23:59:58

每个应用程序都必须有完整的 web.config,而不是部分的,除非您使用 net 4

技巧是在其他内部 web 上大量使用 remove 命令。配置并删除不得在此使用的父设置。

例如,如果在主根上有一个模块,但您不想在其他树上使用它,则可以在所有其他 web.config 上使用删除命令来删除它。特别是位于一个 Bin 上而不是位于其他目录 bin 上的模块。

<httpModules>
  <remove name="TheHttoModuleNotNeedHere" />
  <remove name="AnonymousIdentification" />

  ... add here your other modules for that directory...
</httpModules>

删除命令适用于配置上的几乎所有会话。

你可以让它工作,我已经做到了,但是找到所有冲突/不必要的配置并将其删除需要做很多工作。

对于其他一些会话,还有 clear 命令。例如,在角色管理器上,您可以清除所有内容并添加新内容。

<roleManager enabled="true" ...>
  <providers>
    <clear />
    <add name="MyName" ... type="System.Web.Security.SqlRoleProvider" />
  </providers>

希望这有助于作为使其发挥作用的提示。

Every application must have a full web.config and not partial, exept if you go with net 4

The trick is to use a lot the remove command on the other inside web.config and remove the parents setting that must not used on this.

For example if on the main root you have the a module that you do not won to use it on the other trees, you use the remove command on all other web.config to remove it. Especial the modules that are on one Bin and not on an other directory bin.

<httpModules>
  <remove name="TheHttoModuleNotNeedHere" />
  <remove name="AnonymousIdentification" />

  ... add here your other modules for that directory...
</httpModules>

The remove command is working for almost all sessions on config.

You can do make it work, I have done it, but its a lot of work to find all the conflicts/unnecessary configs and remove it.

For some other session there also the clear command. For example on role Manager you can clear all and add new.

<roleManager enabled="true" ...>
  <providers>
    <clear />
    <add name="MyName" ... type="System.Web.Security.SqlRoleProvider" />
  </providers>

Hope this help as tips to make it work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文