4

我正在寻找一种简单的方法(如果存在)在服务类中为 ASP.NET MVC 3 Web 应用程序中的指定控制器和操作生成 URL。我想在服务层执行此操作,因为需要将此 URL 编码为 QR 码。

这在视图或控制器中很简单,因为通过 System.Web.Mvc 可以使用 UrlHelper,所以我可以在使用我的服务类的控制器操作中创建 URL 的开头,但我希望在点二维码生成。

提前致谢。

4

2 回答 2

12

具有不同层的一个主要原因是关注点分离。服务层不应该关心请求路由。

我会将 URL 传递到服务层并让服务层返回生成的二维码。

于 2012-08-03T17:11:33.093 回答
6

我理解关注点的分离,但有时开发人员必须做开发人员必须做的事情!

所以这就是我所做的:

    var Url = new UrlHelper(HttpContext.Current.Request.RequestContext);
    var myUrl= Url.RouteUrl("routeName", new { controller="ControllerName", action="Index", area="", otherDictionaryEntries="otherId"});

问候!

于 2013-08-07T00:28:49.263 回答