Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.NET MVC 3项目的服务层中生成URL_C#_Asp.net Mvc 3_Url_Web Applications_Service Layer - Fatal编程技术网

C# 如何在ASP.NET MVC 3项目的服务层中生成URL

C# 如何在ASP.NET MVC 3项目的服务层中生成URL,c#,asp.net-mvc-3,url,web-applications,service-layer,C#,Asp.net Mvc 3,Url,Web Applications,Service Layer,我正在寻找一种简单的方法(如果存在的话)为ASP.NET MVC 3 web应用程序中的指定控制器和操作在服务类中生成URL。我想在服务层这样做,因为需要将这个URL编码为二维码 这在视图或控制器中很简单,因为可以通过System.Web.Mvc使用UrlHelper,所以我可以在控制器操作中创建URL的开头,该操作使用我的服务类,但我希望在生成QR码时这样做 提前感谢。拥有不同层的一个主要原因是关注点的分离。服务层不应该关心请求路由 我会将URL传递到服务层,让服务层返回生成的二维码。我理解关

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

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


提前感谢。

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


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

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

以下是我所做的:

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

问候

到目前为止,您自己尝试了哪些代码。。你能发布你已经尝试过的吗?是的,在控制器中使用Url帮助器,并将其作为参数传递给服务层。绝对正是我所想的。我不确定这是否是最好的。感谢您的澄清。如果您必须发送一封包含应用程序端点链接的电子邮件,那么您需要在服务层中构建链接!