Я занимаюсь разработкой веб-приложения asp.net. Использование ISS с бэкэндом mssql db. Я пытался изменить один из контроллеров для страницы с ошибкой, но заметил, что это никак не отразилось. В качестве теста я полностью удалил контроллер, но приложение по-прежнему функционирует так, как будто оно там. Представление отображает идентификатор записи таблицы на основе ошибки, которая передается ему через ViewBag в контроллере.
У меня есть несколько версий этого приложения, поэтому я убедился, что я запускаю и тестирую текущую. В качестве меры предосторожности я даже удалил все копии контроллера и перезапустил веб-приложение в ISS. Тем не менее, когда я целенаправленно перехожу на страницу «Неожиданная ошибка», он работает так, как будто он запускается с контроллера, который я удалил.
@using RS.Core.Lib;
@{
ViewBag.Title = "Unexpected Error";
var ctrlr = ViewContext.Controller as RS.Web.Controllers._Controller;
var appLogId = (int)ViewBag.AppLogId;
}
<center>
<h3>Oops! An unexpected error has occured.</h3>
<p>
Please browse <a href="javascript: history.go(-1);">back</a> and try again.
</p>
<p>
@if( ctrlr.GetSession().HasPermission("APP_LOG_CAN_USE") )
{
<span>(Error Log Id: <a href='/sysadmin/app_log'>@(appLogId))</a></span>
}
else
{
<span>(Error Log Id: @(appLogId))</span>
}
</p>
</center>
Можно было бы ожидать, что applogid не будет передан представлению, однако это так, и он также генерирует новые идентификаторы, чего не должно быть, потому что контроллер также имел дело с этим.