2011-06-17 114 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); 

}