Как я могу переместить этот код за пределы моего проекта asp.net-mvc - PullRequest
0 голосов
/ 26 декабря 2011

В моем проекте asp.net-mvc есть следующий код:

private string GenerateEmail(RequestContext requestContext)
{
    var u = new UrlHelper(requestContext);
    string url = u.AbsoluteAction("Detail", "Application", new { id = app.Id });
}

Я использую UrlHelper, потому что я хочу, чтобы полный адрес электронной почты был помещен в электронные письма (не относительный URL), и он прекрасно работает в моем проекте MVC

Теперь я хочу иметь возможность генерировать эти электронные письма из другого решения (которое не основано на веб-технологиях), поэтому я попытался реорганизовать весь свой код электронной почты вне проекта mvc, но эту строку я не могу удалить (так как UrlHelper зависит от System.Web.MVC)

каков наилучший способ выделить этот код в «общий» проект C #, который не зависит от System.Web.MVC?

1 Ответ

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

Можно извлечь URL-адрес в ViewController, а затем передать URL-адрес в виде строки классу электронной почты.

Таким образом, если вы создадите класс emailer с помощью метода, подобного приведенному ниже, emailer будет независим от среды MVC:

public string GenerateEmailBodyFromUrl(String url)
{
}
...