间歇性地,其网站下的虚拟目录无法访问web.config。就好像虚拟目录没有正确地从其父网站继承web.config文件。这个问题一直无法重现,当我们得到这个问题时,我们需要做的就是回收网站的应用程序池,一切正常。
代码中的某个地方(来自虚拟目录)我们正在做这样的事情: -
string MembershipProvierName =
(WebConfigurationManager.GetSection("system.web/membership") as MembershipSection).DefaultProvider;
和父网站上的web.config: -
<system.web>
<membership defaultProvider="SomeProvider">
<providers>
<add name="SomeProvider" enableSearchMethods="true" enablePasswordReset="false" requiresQuestionAndAnswer="false" type="SomeRandomType" defaultUsername="aaa@bbb.com" />
</providers>
</membership>
...
</system.web>
和例外: -
System.Web.HttpException,System.Web程序,版本= 4.0.0.0,文化=中性公钥= b03f5f7f11d50a3a消息:来源:System.Web程序帮助链接:WebEventCode:0错误码:-2147467259数据:System.Collections.ListDictionaryInternal TargetSite:System.String GetPhysicalPath(System.Web.VirtualPath)堆栈跟踪:在System.Web.CachedPathData.GetPhysicalPath(VirtualPath virtualPath)在System.Web.CachedPathData.GetConfigPathData(字符串用configPath)在System.Web.HttpContext.GetFilePathData()在System.Web.HttpContext.GetSection(String sectionName)
这种情况发生在生产环境中,在任何其他环境中都无法重现。此外,这也是间歇性的。在prod中,IIS版本最有可能是6.0.3790.3959。任何人都知道如果这是一个IIS问题?