0

在 IIS 上,我可以为我的 MVC 项目创建一个站点,称之为 Foo。

设置好后,我可以右键单击它并“添加虚拟目录”栏。

如果我尝试将 Bar 设为虚拟目录,我会收到一条错误消息,提示可能这需要是一个应用程序。

所以我右键单击并使 Bar 成为一个应用程序。还是不行。

问题是 Foo 和 Bar 的 web.config 有冲突,说我的连接字符串之一已经定义。

看来我不能这样做<location path="." inheritInChildApplications="false">,因为在配置设置上使用它是无效的。

我唯一的另一个想法是在 Bar 中创建一个 web.release.config 文件,并删除所有与 Foo 冲突的东西。这看起来很乏味并且容易出错。

关于如何让我的网址看起来像我想要的那样有什么建议(www.foo.com/Bar)?

4

2 回答 2

0

吧只是一个目录?

您需要使用命名空间。一旦定义了命名空间,它们就不会使编译器在对象上发生冲突。然后在 IIS 中,您无需执行任何操作,只需将 foo 设为您的应用程序。

namespace BarSpace {

    [classes/code]
}

namespace FooSpace {

 [classes/code]
}
于 2012-05-24T00:07:53.243 回答
0

我建议在子 web.config 中的<clear />任何标签之前添加一个标签。<add ... />这将删除所有继承的添加字段,包括清除标记之前的每个添加字段。

这应该适用于 ConnectionStrings、AppSettings 等。基本上所有依赖于<add ... />标签的东西。

<!--FOO web.config-->
<connectionStrings>
   <add name="DataBase1" connectionString="..." providerName="..." />
   <add name="DataBase2" connectionString="..." providerName="..." />
</connectionStrings>

<!--BAR web.config-->
<connectionStrings>
   <clear />
   <add name="DataBase1" connectionString="..." providerName="..." />
   <add name="DataBase2" connectionString="..." providerName="..." />
</connectionStrings>
于 2012-05-24T00:22:48.740 回答