【问题标题】:iis apps & subapps, interaction of web.configiis 应用程序和子应用程序,web.config 的交互
【发布时间】:2011-11-12 04:05:10
【问题描述】:

我们有一个 Web 服务器,它在同一个站点中运行多个单独的应用程序,没有任何问题。我刚刚在根目录添加了一个新应用程序。其中许多应用程序使用 global.asax 中的路由表,就像我添加到 root 中的一样。我得到了一个错误,结果是在 web.config 的 部分中,我的新根应用程序添加了一个与“子”应用程序中同名的处理程序。但是所有这些应用程序都使用相同的名称来表示模块和处理程序:它也支持路由表,它们都被称为“UrlRoutingModule”和“UrlRoutingHandler”。

也就是说,假设我们现有的应用程序 foo 和 bar 以 http://example.com/foohttp://example.com/bar 运行。 foo 和 bar 都添加了一个名为“UrlRoutingHandler”的处理程序。这似乎不会导致任何问题。现在我添加了一个新应用程序 base,它以 http://example.com 的形式运行。 (没有子路径。)它还添加了一个 UrlRoutingHandler。一旦我添加了这个应用程序, foo 和 bar 就不再可以访问了。任何联系他们的尝试都会产生错误 500。

有人能给我一些关于发生了什么的线索吗?路由应用程序的 web.config 是否被“添加”到“子”应用程序的 web.config,但“对等”应用程序中的 web.configs 不会相互影响?

我在基础应用程序中重命名了处理程序,它看起来很有效。但是“它有效,我不知道为什么”只比“它无效,我不知道为什么”好一点。

【问题讨论】:

    标签: asp.net web-config routes


    【解决方案1】:

    Web.config 始终包含其父级的任何内容。您可以覆盖或删除,但它始终是从 machine.config 一直到最嵌套的 web.config 的所有内容的总和。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 2021-03-03
      • 2014-01-01
      • 2021-08-28
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多