用于VirtualPathUtility的ASP.Net核心替换

时间:2018-05-30 11:48:16

标签: c# asp.net-core

ASP.Net Core中是否有VirtualPathUtility.ToAbsolute的替换?它似乎没有。

我想转换相对路径,例如“〜/ bob”进入绝对路径,例如“/应用程序/鲍勃”。

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

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

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

1 个答案:

答案 0 :(得分:0)

我做了什么:

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

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

Demo