2015-03-25 4 views
0

Я изо всех сил пытаюсь найти решение для следующего прецедента.Страница пользовательской ошибки для неудавшегося приложения Инициализация

Наш дебетовый анализ (DMS) db вышел из-под контроля и часто блокируется, поскольку в результате этих коротких интервалов ошибок наши пользовательские страницы ошибок, которые мы установили с использованием узла пользовательской ошибки, fail, потому что пул приложений перезагружается, а sql требуется внутри конвейера инициализации приложения sitecore. Могу ли я выйти перед этим сообщением?

Ниже трассировки стека:

 System.Web.Security.Membership.GetUser(String username, Boolean userIsOnline) +175 
    Sitecore.Security.Domains.Domain.CreateAnonymousUserIfNeeded() +56 
    Sitecore.Pipelines.Loader.EnsureAnonymousUsers.Process(PipelineArgs args) +143 
    (Object , Object[]) +80 
    Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) +191 
    Sitecore.Nexus.Web.HttpModule.Application_Start() +172 
    Sitecore.Nexus.Web.HttpModule.Init(HttpApplication app) +516 
    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +530 
    System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +304 
    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404 
    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475 
+2

Вы действительно должны понять, почему это происходит, и посмотреть, если вы можете предотвратить это, в первую очередь ... в противном случае вы бросали лейкопластырь на него, и это может привести к эскалации к более серьезной проблеме и более продолжительному простоям, когда вам это меньше всего нужно (например, в пятницу вечером до выходных). – Tim

+0

Я не согласен, но все не так просто. В то время как мы ждем бюджета и одобрений и обновлений для mongo db, мы хотели бы по крайней мере разместить страницу, перенаправляемую на другой сайт, где они все еще могут купить –

+0

Если функциональность DMS не используется, то, возможно, стоит рассмотреть ее отключить , – jammykam

ответ

0

Если у вас есть определенное количество ошибок, когда это произойдет, вы можете справиться с этим в web.config на страницу, которая не работает из Sitecore. Я думаю, вы также можете настроить по умолчанию, который поймает любое необработанное исключение.

Вот documentaition:

https://msdn.microsoft.com/en-us/library/h0hfz6fc%28v=vs.85%29.aspx

<customErrors> 
<error StatusCode="XXX" redirect="errorpage.htm" /> 
</customErrors> 
+0

Это то, что я делаю, но это все еще ошибки. поскольку sitecore-конвейеры все еще оценивают запрос, если я не понимаю что-то –

+0

Вы перенаправляете на URL-адрес с псевдонимом SiteCore или физический URL-адрес файла, который не использует какие-либо функции SiteCore? Раньше я работал с Ektron, и последний был нашим способом обработки ошибок в CMS (поскольку, если CMS снизилась, эта страница должна была остаться) – Tim

+1

Просто посмотрел ваше редактирование - попробуйте перенаправить на HTML-файл (который выиграл ' t выполнить через .NET, если вы не настроили свой сервер) – Tim

0

У вас есть веб-приложение, в отличие от веб-сайта, скорее всего, почему вы не получаете поведение вы думаете, что будет.

Взгляните на https://msdn.microsoft.com/en-us/library/24395wz3%28v=vs.140%29.aspx и следуйте подходу global.asax, который получит стрельбу по переадресации в нужном месте в правом стеке.

1

Вы можете попытаться взглянуть на пользовательские ошибки IIS, чтобы захватить 500 вместо этого, таким образом, они являются уловками и будут работать, если сеть Asp падает. Вы можете установить их либо через диспетчер IIS, либо в config с элементами system.webServer/HTTPErrors.

Из MSDN: http://www.iis.net/configreference/system.webserver/httperrors