我的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#项目中分解此代码的最佳方法是什么?
答案 0 :(得分:2)
可以在ViewController中提取URL,然后将URL作为字符串传递给电子邮件类。
因此,如果您使用下面的示例创建电子邮件类,则电子邮件将独立于MVC框架:
public string GenerateEmailBodyFromUrl(String url)
{
}