MVC 项目中的 MVC 项目

本文关键字:MVC 项目 | 更新日期: 2023-09-27 18:35:05

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

设置完成后,我可以右键单击它并"添加虚拟目录"栏。

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

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

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

似乎我不能只做<location path="." inheritInChildApplications="false">因为这在配置设置上使用是无效的。

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

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

MVC 项目中的 MVC 项目

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

这应该适用于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>

Bar 只是一个目录?

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

namespace BarSpace {
    [classes/code]
}
namespace FooSpace {
 [classes/code]
}