Frage

I have the following code inside my asp.net-mvc project:

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

I use the UrlHelper because I want the full url to be put in the emails (not a relative url) and it works great in my mvc project

I now want to be able generate these emails from another solution (which is not web based) so i tried refactoring all of my email code outside of the mvc project but this is the one line I can't remove (since UrlHelper depends on System.Web.MVC)

what is the best way to factor out this code in a "generic" C# project that doesn't have a dependency on System.Web.MVC ?

War es hilfreich?

Lösung

It´s OK to extract the URL in the ViewController and then pass the URL as a string to the emailer class.

So if you create the emailer class with a method like the example below, the emailer will be independent of the MVC framework:

public string GenerateEmailBodyFromUrl(String url)
{
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top