MVC项目中的MVC项目

时间:2012-05-23 23:57:22

标签: c# windows model-view-controller iis

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

一旦我进行了设置,我可以右键单击它并“添加虚拟目录”栏。

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

所以我右键单击并将Bar设为应用程序。仍然没有。

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

似乎我不能只执行<location path="." inheritInChildApplications="false">,因为它无法在Config设置上使用。

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

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

2 个答案:

答案 0 :(得分:0)

Bar只是一个目录?

您需要使用名称空间。一旦定义了命名空间,它们就不会使编译器在对象上发生冲突。然后在IIS中,您不必做任何事情,除了让你的应用程序foo。

namespace BarSpace {

    [classes/code]
}

namespace FooSpace {

 [classes/code]
}

答案 1 :(得分: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>