我们有一个父网站,其下有单独的虚拟目录。父网站指向一个 ASP.NET Web 应用程序,所有虚拟目录都指向一个通用 ASP.NET Web 应用程序。父网站和虚拟目录共享一个通用应用程序池。
虚拟目录中的代码访问父网站的 web.config。但是,偶尔一个虚拟目录无法找到父网站的 web.config,从而引发错误。这个间歇性问题随机发生在一个虚拟目录中,但同时不会发生在其他虚拟目录中。我比较了虚拟目录的元数据库配置文件,发现它们是相同的。唯一的解决方法是回收应用程序池,这不会影响没有问题的虚拟目录。有人知道为什么虚拟目录无法访问主网站的 web.config 吗?
代码 :-
string MembershipProvierName = (WebConfigurationManager.GetSection(MembershipSectionKey) as MembershipSection).DefaultProvider;
错误(当它尝试从 web.config 获取一个部分时)
堆栈跟踪 :
at System.Web.CachedPathData.GetPhysicalPath(VirtualPath virtualPath)
at System.Web.CachedPathData.GetConfigPathData(String configPath)
at System.Web.HttpContext.GetFilePathData()
at System.Web.HttpContext.GetSection(String sectionName)