2011-12-26 28 views
0

我有我的asp.net-MVC項目中下面的代碼:我如何才能將這個代碼我的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被放在電子郵件中(而不是相對URL),它在我的mvc項目中效果很好

我現在想要從另一個解決方案(這不是基於Web的)生成這些電子郵件,所以我試圖重構我的所有電子郵件代碼以外的mvc項目,但這是我無法刪除的一行(因爲UrlHelper取決於System.Web.MVC)

在沒有System.Web.MVC依賴的「通用」C#項目中將這些代碼分解出來的最佳方式是什麼?

回答

2

可以在ViewController中提取URL,然後將URL作爲字符串傳遞給emailer類。

所以,如果你喜歡下面的例子中的方法創建郵件器類,郵件器將獨立的MVC框架:

public string GenerateEmailBodyFromUrl(String url) 
{ 
} 
相關問題