Периодически виртуальный каталог на своем веб-сайте не может получить доступ к 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, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a Сообщение: источник: System.Web Справочная ссылка: WebEventCode: 0 ErrorCode: -2147467259 Данные: System.Collections.ListDictionaryInternal TargetSite: System.StringP (System.Web.VirtualPath) Трассировка стека: в System.Web.CachedPathData.GetPhysicalPath (VirtualPath virtualPath) в System.Web.CachedPathData.GetConfigPathData (String configPath) в System.Web.HttpContext.GetFilePathTebTata. ()GetSection (String sectionName)
Это происходит в производственной среде и не воспроизводитсяв любой другой среде.Кроме того, это довольно непостоянно.В prod версия IIS скорее всего 6.0.3790.3959.Кто-нибудь случайно знает, если это проблема IIS?