我目前在IIS7中有2个ASP.NET 3.5 Web应用程序(可以称之为WebParent和WebChild)。
WebChild嵌套在IIS7中的WebParent列表中,并设置为应用程序(而不仅仅是WebParent中的虚拟目录)。两者目前都使用自己的(Classic)应用程序池。
WebParent和WebChild都有自己的完全定义的web.config文件在自己的根目录中。
我假设WebChild在IIS中定义为“应用程序”,它不会从WebParent配置文件继承任何内容。然而,尽管这样配置,我看到web.config中已经定义了各种元素的错误(这是正确的,有两个配置文件中的两个项目,但我认为应该完全独立于一个对待另一个)?
任何人都可以澄清为什么会发生这种情况?
解决方法
如果他们重复,你必须< remove />那么首先在子应用程序web.config中,然后添加你想要它的元素。这是假设你想要有一个不同的价值。如果不这样做,那就省略这个元素。一个连接字符串将是一个很好的例子,它可能是所有应用程序的共同之处,所以你只需要在根目录中指定它。
例:
<siteMap defaultProvider="AdminSiteMapProvider" enabled="true"> <providers> <remove name="AdminSiteMapProvider"/> <add name="AdminSiteMapProvider" description="Admin SiteMap provider" type="System.Web.XmlSiteMapProvider" siteMapFile="~/App_Data/admin.sitemap" securityTrimmingEnabled="true" /> </providers> </siteMap>