У меня есть опыт разработки программного обеспечения для настольных компьютеров, и я начинаю изучать ASP.NET MVC.
В моем по умолчанию HomeController У меня есть действие Index, код которого выглядит следующим образом:
if (!Request.IsAuthenticated)
return RedirectToAction("Login", "Account");
Другими словами, перенаправьте пользователя в «/ account / login». Действие AccountController.Login затем обработает пользователя и отправит его обратно в HomeController. после успешного входа в систему.
Этот код мне неприятен, возможно, потому, что я привык делать что-то по-другому в программном обеспечении для настольных ПК. Что, если я изменю имя действия входа в систему на «Вход в систему»? Что, если я удалю AccountController и замените его чем-то другим? Я внесу новую ошибку, но у меня не будет ошибок компилятора, и мои модульные тесты, вероятно, тоже не поймают ее. Поскольку я использовал строки для указания имен контроллеров и действий, рефакторинга и перепроектирования имеет больше шансов взломать код повсюду.
Я бы хотел примерно следующее:
if (!Request.IsAuthenticated)
return RedirectToAction(() => AccountController.Login);
Однако я не уверен, возможно ли это вообще или это лучший способ сделать это.
Я дурак, или у других была такая же проблема? Что вы делаете, чтобы обойти это?