在MVC 5中,我具有以下扩展方法来生成绝对URL,而不是相对的:
public static class UrlHelperExtensions
{
public static string AbsoluteAction(
this UrlHelper url,
string actionName,
string controllerName,
object routeValues = null)
{
string scheme = url.RequestContext.HttpContext.Request.Url.Scheme;
return url.Action(actionName, controllerName, routeValues, scheme);
}
public static string AbsoluteContent(
this UrlHelper url,
string contentPath)
{
return new Uri(url.RequestContext.HttpContext.Request.Url, url.Content(contentPath)).ToString();
}
public static string AbsoluteRouteUrl(
this UrlHelper url,
string routeName,
object routeValues = null)
{
string scheme = url.RequestContext.HttpContext.Request.Url.Scheme;
return url.RouteUrl(routeName, routeValues, scheme);
}
}
ASP.NET Core中的等效项是什么?
UrlHelper.RequestContext
不复存在。- 您无法控制,
HttpContext
因为不再有静态HttpContext.Current
属性。
据我所知,您现在还需要传入HttpContext
或HttpRequest
对象。我对吗?有什么方法可以控制当前请求?
我是否在正确的轨道上,现在该域是否应该是一个环境变量,该变量应简单地附加到相对URL?这会是更好的方法吗?