RouteUrl в классе - PullRequest
       3

RouteUrl в классе

0 голосов
/ 28 декабря 2011

Как я могу сгенерировать URL по RouteName вне представления или контроллера?

Я хочу создать URL-адрес RouteName в отдельном классе для электронной почты, но если я попытаюсь использовать UrlHelper.GenerateUrl . Тогда я не вижу, где я могу получить остальные параметры для этой функции.

1 Ответ

2 голосов
/ 28 декабря 2011

Как я могу сгенерировать URL по внешнему виду или контролеру RouteName?

Вам не нужно это делать.URL должны генерироваться только в передних слоях, где у вас есть доступ к HTTP-контексту, и передаваться в резервные слои в качестве аргументов.

Конечно, вы всегда можете выполнить какой-то ужасный гротескный хак в своем бэкэнд-слое и жестко кодировать статический HttpContext.Current, чтобы создать экземпляр UrlHelper и, таким образом, сделать ваши резервные слои прочно связанными со стеком HTTP, сделав егоНевозможно повторно использовать в изоляции и тестировании модулей.

Да, и, кстати, оформите MvcMailer , если вам нужно отправлять электронные письма в вашем приложении.Таким образом, вы можете определить тело письма как шаблон, где у вас будет доступ к помощникам и тому подобному, и вам не нужно будет выполнять вышеупомянутый гротескный хак.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...