【问题标题】:ASP.Net Core Replacement for VirtualPathUtilityVirtualPathUtility 的 ASP.Net 核心替换 [重复]
【发布时间】:2018-11-09 06:18:23
【问题描述】:

在 ASP.Net Core 中有 VirtualPathUtility.ToAbsolute 的替代品吗?它似乎不可用。

我想转换相对路径,例如"~/bob" 变成绝对路径,例如“/app/bob”。

我正在尝试从类库中执行此操作,因此无法访问控制器和视图的常用属性。

我正在将一个应用程序从 ASP.Net 移植到 ASP.Net Core,并且这个库正在从很多地方被调用,并且从控制器传递参数不是我想做的事情 - 这将是几个小时工作,因为我必须通过很多地方。

我正在使用 ASP.Net Core 2.1,在 .Net Framework 4.7.1 上运行(虽然我计划在未来的版本中移植到 .Net Core,但一旦删除了一些依赖项,所以我想要一个可行的解决方案使用 Famework 和 .Net Core)

【问题讨论】:

  • 这个问题不是重复的,b / c它不是关于获取“绝对URL”,尽管方法名称是什么,这个方法用于解析tilda-paths。

标签: c# asp.net-core


【解决方案1】:

我做了什么:

已安装Microsoft.ApplicationInsights.AspNetCore。 现在我有GetUri() 扩展可用:

var originalUri = myController.HttpContext.Request.GetUri();
var url = "~/blablabla/toto.png";
var absoluteUrl = url.Replace("~/", $@"{originalUri.Scheme}://{originalUri.Authority}/");

Demo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 2019-10-11
    • 2018-09-01
    • 2019-10-05
    • 1970-01-01
    • 2018-03-31
    相关资源
    最近更新 更多