Волшебные строки в ASP.NET MVC

У меня есть опыт разработки программного обеспечения для настольных компьютеров, и я начинаю изучать 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);

Однако я не уверен, возможно ли это вообще или это лучший способ сделать это.

Я дурак, или у других была такая же проблема? Что вы делаете, чтобы обойти это?

9
задан Phil 3 December 2011 в 21:44
поделиться