Это мой первый проект MVC, поэтому я многому учусь. Сейчас я получаю сообщение об ошибке, и я не могу понять, откуда он. Я взял контроллер учетной записи по умолчанию и указал его на мою собственную базу данных sql, как показано ниже. Я помещаю атрибут [Авторизовать] на каждый контроллер, поэтому доступ к странице входа можно получить только на странице входа. Как только пользователь войдет в систему, он позволит им легко получить доступ ко всем страницам, но сначала перенаправляет на эту ошибку:Ошибка контроллера счета MVC и LogOff не работает
Ошибка. Произошла ошибка при обработке вашего запроса.
Кроме того, после изменения контроллера учетной записи действие LogOff перестало работать. Я изменил его, как показано ниже, но он все еще не работает. Как ни странно, эта ошибка не появлялась вчера. Я близок к крайнему сроку в этом проекте, поэтому любая помощь будет принята с благодарностью, спасибо!
Здесь измененная учетная запись код контроллера
//
// GET: /Account/Login
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
ViewBag.ReturnUrl = returnUrl;
return View();
}
//
// POST: /Account/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if (ModelState.IsValid)
{
using (ixdb_siNet_ConfigurationEntities userdb = new ixdb_siNet_ConfigurationEntities())
{
var objUser = userdb.ixoc_Users.FirstOrDefault(x => x.name == model.UserName && x.password == model.Password);
if (objUser != null)
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Dashboard");
}
}
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
//
// POST: /Account/LogOff
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
//AuthenticationManager.SignOut();
Request.Cookies.Remove("UserId");
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Dashboard");
}
Вот трассировки стека
Ошибка сервера в приложении '/'. В экземпляре объекта не задана ссылка на объект. Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.
Сведения об исключении: System.NullReferenceException: Ссылка на объект не установлена в экземпляр объекта.
Источник ошибки:
Необработанное исключение при выполнении текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием следа стека исключений ниже.
Трассировка стека:
[NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.] SiNetWebApplication.Controllers.DashboardController.Index (String StartDate, String EndDate) в C: \ \ Merlin Клиенты \ \ Weir Git \ siNetWebApplication \ siNetWebApplication \ Controllers \ DashboardController.cs: 29 lambda_method (Closure, ControllerBase, Object []) +178 System.Web.Mvc.ReflectedActionDescriptor.Execute (ControllerContext controllerContext, IDictionary2 parameters) +241 System.Web.Mvc.ControllerActionInvoker .InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2) +38 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__36 (IAsyncResult asyncResult, ActionInvocation innerInvokeState) +11 System.W eb.Mvc.Async.WrappedAsyncResult2.CallEndDelegate (IAsyncResult asyncResult) +138 System.Web.Mvc.Async.AsyncInvocationWithFilters.b__3c() +111 System.Web.Mvc.Async. <> c__DisplayClass45.b__3e() +452 System.Web.Mvc.Async. <> c__DisplayClass30.b__2f (IAsyncResult asyncResult) +15 System.Web.Mvc.Async. <> c__DisplayClass28.b__19() +37 System.Web.Mvc.Async. <> c__DisplayClass1e.b__1b (IAsyncResult asyncResult) +241 System.Web.Mvc.Controller.b__1d (IAsyncResult asyncResult, ExecuteCoreState innerState) +29 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate (IAsyncResult asyncResult) +111 System.Web. Mvc.Controller.EndExecuteCore (IAsyncResult asyncResult) +53 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate (IAsyncResult asyncResult) +19 System.Web.Mvc.MvcHandler.b__4 (IAsyncResult asyncResult, ProcessRequestState innerState) +51 System.Web. Mvc.Async.WrappedAsyncVoid1.CallEndDelegate (IAsyncResult asyncResult) +111 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, Boolean & завершен синхронно) +288
Можете ли вы поделиться тем исключением, которое вы получаете, вместо общего сообщения об ошибке? Попробуйте выполнить свой код с помощью отладчика и посмотрите, можете ли вы точно определить, где именно происходит ошибка. – Tobias
Это не происходит в режиме отладки, только после того, как я скопирую его на сервер IIS и просмотрю его в Интернете. – spacecowboy
Какую версию MVC вы используете? – nityan