Я обнаружил исключение NullReferenceException, которое не обрабатывается обработчиком событий глобальной ошибки MVC (Application_Error).Это происходит только в производстве.Пул приложений IIS завершает работу после пяти сбоев из-за настроек защиты от быстрой защиты IIS.В пуле есть только одно приложение.
Ниже приведен фрагмент файла .wer (Windows Error Reporting).Содержит информацию о необработанном исключении.Насколько я понимаю, Sig [6] содержит важное значение.Я использовал значение e3 (227 в десятичном виде), чтобы найти сигнатуру метода в коде IL.
EXE File name: Sig[0].Value=w3wp.exe
EXE File Assembly Version: Sig[1].Value=7.5.7601.17514
EXE File Stamp: Sig[2].Value=4ce7afa2
EXE File Full Assembly Version: Sig[3].Value=System.Web
Faulting Assembly Version: Sig[4].Value=4.7.3282.0
Faulting Assembly Timestamp: Sig[5].Value=5bd8e3e7
Faulting Assembly Method Def: Sig[6].Value=e3
Faulting Method IL Offset: Sig[7].Value=25
Exception Type: Sig[8].Value=System.NullReferenceException
Значение Sig [6] переводится в токен 06000 227 .Инструкции по переводу с e3 на 06000227 можно найти здесь .
.method /*06000227*/ private hidebysig newslot specialname virtual final
instance bool System.Web.HttpApplication.IExecutionStep.get_IsCancellable() cil managed
{
.override System.Web.HttpApplication/*0200003A*//IExecutionStep/*0200003F*/::get_IsCancellable /*0200003F::0600020B*/
// Code size 2 (0x2)
.maxstack 8
IL_0000: ldc.i4.0
IL_0001: ret
} // end of method MapHandlerExecutionStep::System.Web.HttpApplication.IExecutionStep.get_IsCancellable
При условии, что я сделал перевод правильно, почему IsCancellable выдает / вызывает исключение NullReferenceException?Есть ли еще что-нибудь для отслеживания стека вызовов?Меня смущает тот факт, что ошибка исходит от System.Web.
Другие обработчики событий, используемые в global.asax:
- Application_PreRequestHandlerExecute
- Application_BeginRequest
- Application_AuthenticateRequest
Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.
Спасибо за вашу помощь.