model-view-controller - 在管理层中从 MVC 路由生成 urls...

标签 model-view-controller routing abstraction

所以...我有一个业务对象/经理,它将生成电子邮件。

这些电子邮件将包含网站上各种内容的链接...因此需要了解 MVC 路由...或至少如何为网站生成 URL...

但是我的业务对象将无法访问 RequestContext 等,并且电子邮件生成不一定是对网站的 Web 请求的结果(我有一个调度程序在将生成电子邮件的后台线程上运行)

关于如何在无法访问请求的情况下生成我的 url 的任何想法 - 因此无法使用 URLHelper...

想法?

最佳答案

为了获取 Controller 外部的 UrlHelper,您需要将其和路由数据提供给 HttpContext。这是一个例子:

using System.Web;
using System.Web.Mvc;
using System.Web.Routing;    

HttpContextBase context = new HttpContextWrapper(HttpContext.Current);
UrlHelper helper =  = new UrlHelper(new RequestContext(context, RouteTable.Routes.GetRouteData(context)));

关于model-view-controller - 在管理层中从 MVC 路由生成 urls...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082748/

相关文章:

model-view-controller - 在 MVC 框架下,其他开发人员会期望哪种目录结构?

networking - 了解windows路由表

database - Windows Phone 和 Windows 8 现代应用程序的数据层抽象?

c - 为其他类型重新利用相同的 c ADT

java - 为什么要使用 getter 和 setter/accessors?

asp.net-mvc-3 - 我怎样才能在 asp.net MVC 3 中制作可重用的局部 View

php - Twig 循环空结果

javascript - 如何使用 EmberJS 扩展命名空间

ios - 如何在 iOS 快速模块化应用程序中执行路由?

image - 在 vuejs 中的图像中包含路由器链接标签