我在另一个父MVC应用程序的IIS8.5中运行了一个子MVC应用程序。
正如预期的那样,子应用程序继承了父Web.Config
个设置。
我遇到的问题是子应用程序继承了我需要阻止它执行的<EntityFramework>
部分。我如何实现这一目标?
我seen a number of different questions提出了一个非常相似的问题,但没有一个有效防止<EntityFramework>
继承。
我到目前为止尝试过:
<virtualDirectoryDefaults allowSubDirConfig="false" />
在applicationHost
文件enableConfigurationOverride="false"
添加到应用程序池
applicationHost
文件 更新
我特别关注代码优先迁移的问题。以下<context>
继承自父Web.config
文件,但在子应用程序中不需要:
<context type="SomeApp.Models.DataContext, SomeApp">
<databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[SomeApp.Models.DataContext, SomeApp], [SomeApp.Migrations.Configuration, SomeApp]], EntityFramework, PublicKeyToken=someToken">
<parameters>
<parameter value="SomeConnection_DatabasePublish" />
</parameters>
</databaseInitializer>
</context>
主要问题是此上下文依赖于不在子应用程序中的dll。
答案 0 :(得分:1)
在父应用程序的web.config
文件中,将location
元素设置为inheritInChildApplications
的{{1}}元素中包含您不希望继承的元素:
false