мы 4 разработчика (не профессиональные администраторы серверов) и работаем на 2 серверах с IIS 8.5 (Windows server 2012 R2) и ASP.NET 4.
Несколько раз в день мы получаем это исключение в журнале событий Windows:
Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
at System.Web.Hosting.UnsafeIISMethods.MgdIsLastNotification(IntPtr, System.Web.RequestNotificationStatus)
at System.Web.Hosting.UnsafeIISMethods.MgdIsLastNotification(IntPtr, System.Web.RequestNotificationStatus)
at System.Web.HttpRuntime.FinishRequestNotification(System.Web.Hosting.IIS7WorkerRequest, System.Web.HttpContext, System.Web.RequestNotificationStatus ByRef)
at System.Web.HttpRuntime.OnRequestNotificationCompletionHelper(System.IAsyncResult)
at System.Web.HttpRuntime.OnRequestNotificationCompletion(System.IAsyncResult)
at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(System.Exception)
at System.Web.HttpApplication+CallHandlerExecutionStep.OnAsyncHandlerCompletion(System.IAsyncResult)
at System.Threading.Tasks.Task.Execute()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
Следующая запись в журнале событий следующая:
Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
Faulting module name: iiscore.dll, version: 8.5.9600.17224, time stamp: 0x53b1e5a1
Exception code: 0xc0000005
Fault offset: 0x0000000000002c44
Faulting process id: 0x257c
Faulting application start time: 0x01d05f0c93813e6e
Faulting application path: c:\windows\system32\inetsrv\w3wp.exe
Faulting module path: C:\Windows\system32\inetsrv\iiscore.dll
Report Id: 073f9a19-cb13-11e4-80c3-0cc47a02ce53
Faulting package full name:
Faulting package-relative application ID:
Всегда встречаются в паре. Я часами работал с Google, но понятия не имел, проблема ли это в нашем коде или во внешнем модуле и как ее решить. Основная проблема заключается в том, что один из наших серверов время от времени перестает отвечать, поэтому мне действительно интересно, связаны ли эти проблемы вместе.
Мы регистрируем все исключения, но я не могу найти это в нашем журнале. Я также пытался подключить удаленный отладчик, но я не получаю исключения, и отладка действительно замедляет работу сайта.
Изменить: я проверил все источники, чтобы поймать исключения в приложении m:
Но я не нашел этого исключения. Следующее, что я собираюсь попробовать, - это настраиваемый модуль http. Посмотрим.
Я также обнаружил в журнале событий несколько предупреждений, например:
Exception type: HttpException
Exception message: The remote host closed the connection. The error code is 0x80070057.
или
Exception type: HttpException
Exception message: A potentially dangerous Request.Path value was detected from the client (:).
Это может происходить очень часто, я не понимаю, почему они добавляются в журнал событий.
Я бы не беспокоился о
Тип исключения: HttpException Сообщение об исключении: удаленный узел закрыл соединение. Код ошибки - 0x80070057.
Это просто означает, что удаленная сторона ушла (разбилась? Потеряна связь? Кто знает), пока она получала данные.
Я бы также не стал беспокоиться о
Тип исключения: HttpException Сообщение об исключении: от клиента обнаружено потенциально опасное значение Request.Path (:).
Это просто означает, что ваш URL-адрес содержит двоеточие, что недопустимо.
Таким образом, остаются два верхних сообщения об ошибках. Проблема где-то в вашем пользовательском приложении.
Код исключения: 0xc0000005
нарушение доступа. Либо учетная запись вашего приложения не имеет доступа ко всему, что ему нужно (пул приложений? Файлы?), Либо она пыталась получить доступ к защищенной памяти. (Кто-то на этот вопрос предположил, что проблема также может быть в неисправной памяти.) Отладка Diag (и / или утилита для тестирования памяти), вероятно, может помочь вам отследить причину проблемы.
Удачи!
Это может быть проблема с доступом к ASPNET.
Щелкните правой кнопкой мыши «Компьютер» -> «Управление» -> «Локальные пользователи и группы» -> «Группы»
Найдите группы "DB2ADMNS" и "DB2USERS".
Добавьте пользователя «ASPNET» в каждую из этих групп.