У меня есть приложение ASP.NET MVC2, которое использует родительский контроллер для установки определенных переменных, которые используются вокруг приложения.Я также реализую проверку, чтобы убедиться, что идентификатор в URI существует в базе данных.Если это не так, я перенаправляю и останавливаю выполнение скрипта.
Мой родительский контроллер выглядит примерно так:
// Inside class declaration
// Set instance of account object to blank account
protected Account account = new Account();
protected override void Initialize(System.Web.Routing.RequestContext requestContext) {
// Call parent init method
base.init(requestContext);
// Check to make sure account id exists
if (accountRepos.DoesExistById(requestContext.RouteData.Values["aid"].ToString()) {
account = accountRepos.GetById(requestContext.RouteData.Values["aid"].ToString());
} else {
requestContext.HttpContext.Response.Redirect("url");
requestContext.HttpContext.Response.End();
}
}
Сначала это работало, но теперь, когда неверный идентификаторвошел, он не перенаправляет и выдает исключение NullPointerException, когда используется класс Account.Первоначально я просто объявил переменную account, а не создавал ее экземпляр, но это также вызывало исключения и не перенаправляло.
Причина, по которой я пытаюсь завершить выполнение скрипта, заключается в том, что я хочу убедиться, что оностанавливается, даже если перенаправление не работает.Вроде как вызов метода exit () после header () в PHP: с.Если я делаю это неправильно, я был бы признателен за любые указатели.
Мне просто интересно, как я могу это исправить.
Любая помощь очень ценится = D