2011-06-17 144 views
0

MVC具有很好的工具,可以通過使用路由在MVC應用程序內部構建URL。通過控制器和動作進行路由可以避免標記中的硬編碼URL。爲MVC應用程序和*支持應用程序構建URL

但是我們有一些輔助服務需要爲營銷電子郵件創建網址。

例如,我們的電子郵件營銷活動可能需要爲某個優惠建立網址。 MVC應用程序知道如何構建提供詳細信息的url,但是有沒有一種巧妙的方式爲服務應用程序執行此操作?我們能/應該將路由轉移到單獨的dll並從一個地方引用它嗎?

讚賞成功故事/恐怖故事。

回答

0

這聽起來像你應該使用一個包羅萬象的網址來查找您可以在DB等管理措施:

路線這樣

routes.MapRoute(
           "MailCampaigns", 
           "/mailcampaigns/{*url}", 
           new {controller = "MailCampaigns", action = "Incoming" } 
          ); 


public ActionResult Incoming(string url) 
{ 

    //parse the url and perform actions accordingly 

    var actionInfo = repository.Query<ActionInfo>().Where(x => x.Url == url).SingleOrDefault(); 

return Redirect(actionInfo.TargetUrl); 

}