我正在寻找一种简单的方法(如果存在)在服务类中为 ASP.NET MVC 3 Web 应用程序中的指定控制器和操作生成 URL。我想在服务层执行此操作,因为需要将此 URL 编码为 QR 码。
这在视图或控制器中很简单,因为通过 System.Web.Mvc 可以使用 UrlHelper,所以我可以在使用我的服务类的控制器操作中创建 URL 的开头,但我希望在点二维码生成。
提前致谢。
我正在寻找一种简单的方法(如果存在)在服务类中为 ASP.NET MVC 3 Web 应用程序中的指定控制器和操作生成 URL。我想在服务层执行此操作,因为需要将此 URL 编码为 QR 码。
这在视图或控制器中很简单,因为通过 System.Web.Mvc 可以使用 UrlHelper,所以我可以在使用我的服务类的控制器操作中创建 URL 的开头,但我希望在点二维码生成。
提前致谢。
具有不同层的一个主要原因是关注点分离。服务层不应该关心请求路由。
我会将 URL 传递到服务层并让服务层返回生成的二维码。
我理解关注点的分离,但有时开发人员必须做开发人员必须做的事情!
所以这就是我所做的:
var Url = new UrlHelper(HttpContext.Current.Request.RequestContext);
var myUrl= Url.RouteUrl("routeName", new { controller="ControllerName", action="Index", area="", otherDictionaryEntries="otherId"});
问候!