我目前在IIS7中有2个ASP.NET 3.5 Web应用程序(我们称之为WebParent和WebChild).
WebChild嵌套在IIS7中的WebParent列表中,并设置为应用程序(而不仅仅是WebParent中的虚拟目录).两者目前都使用自己的(Classic)应用程序池.
WebParent和WebChild都在自己的根目录中拥有自己完全定义的web.config文件.
我假设看到WebChild被定义为IIS中的"应用程序",它不会从WebParent配置文件继承任何内容.但是,尽管有这样的配置,我看到web.config中的各种元素的错误已经被定义(这是正确的,两个配置文件中都有一些项目,但我认为它们应该完全独立于一个另一个)?
任何人都可以澄清为什么会发生这种情况?
我一直在尝试关注此博客以使区域运作:
http://mstechkb.blogspot.com/2010/10/areas-in-aspnet-mvc-20.html
在博客文章中,它标识了为每个区域设置身份验证的能力,例如:
<location path="Area1">
<system.web>
<authentication mode="Windows" />
<authorization>
<allow roles="role1,role2"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试在Visual Studio 2010中的新项目中创建它时,运行时出现以下错误:
在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的.此错误可能是由于未在IIS中将虚拟目录配置为应用程序引起的.
从我可以看到这是因为你不能指定一个身份验证元素,除非它在顶级web.config中.
那么博客文章可以做什么呢?您是否可以在web.config中的Location元素中包含具有Authentication元素的区域?