如何在asp.net-mvc项目之外移动此代码

时间:2011-12-26 18:28:47

标签: c# asp.net-mvc hyperlink urlhelper

我的asp.net-mvc项目中有以下代码:

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

我使用UrlHelper,因为我希望将完整的网址放入电子邮件(不是相对网址),并且在我的mvc项目中效果很好

我现在希望能够从其他解决方案生成这些电子邮件(这不是基于网络的),所以我尝试重构mvc项目之外的所有电子邮件代码,但这是我无法删除的一行(因为UrlHelper)取决于System.Web.MVC)

在没有依赖System.Web.MVC的“通用”C#项目中分解此代码的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

可以在ViewController中提取URL,然后将URL作为字符串传递给电子邮件类。

因此,如果您使用下面的示例创建电子邮件类,则电子邮件将独立于MVC框架:

public string GenerateEmailBodyFromUrl(String url)
{
}