URL для электронной почты в ASP.NET MVC - PullRequest
0 голосов
/ 12 февраля 2009

Как мне создать правильный URL-адрес для приложения MVC, который будет включен в электронное письмо?

Это для моей системы регистрации, которая отделена от моего контроллера / действия. По сути, я хочу отправить подтверждение по электронной почте, чтобы запустить действие на контроллере. Я не хочу жестко задавать URL-адрес, я бы хотел что-то вроде свойства Url в представлениях.

Ответы [ 4 ]

2 голосов
/ 12 февраля 2009

В вашем контроллере UrlHelper просто называется "Url" - так:

void Index() {
    string s = this.Url.Action("Index", "Controller");
}

«this» не нужно, но оно говорит вам, откуда взята эта переменная Url

1 голос
/ 20 февраля 2009

Я использовал:

Html.BuildUrlFromExpression<AccountController>(c=>c.Confirm(Model.confirmedGUID.Value))

Это часть HTMLHelper (я думаю, в MVC Futures), поэтому вам, возможно, придется передать экземпляр HTMLHelper на уровень службы, не уверен. Я использую это непосредственно в моем представлении, которое обращается к электронной почте. Это дает вам абсолютный URL, а затем я сохраняю домен (http://www.mysite.com) в файле конфигурации и добавляю его перед URL.

0 голосов
/ 12 февраля 2009

Вы, вероятно, должны сделать URL частью конфигурации вашего приложения.

Я знаю, что вы можете делать вещи, например, свойство Server в вашем веб-приложении, но приложение никогда не узнает, доступен ли его IP-адрес или доменное имя извне, поскольку оно может быть скрыто за прокси-сервером или балансировщиком нагрузки.

0 голосов
/ 12 февраля 2009

Если я правильно читаю вопрос, вам нужно контроллер / действие за пределами кода MVC. Если это так, вам нужно просто настроить URL-адрес в разделе «Конфигурация приложения» или в каком-либо другом подобном месте, если только у вас нет доступа к классам контроллера и вы используете отражение для получения имен.

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