【问题标题】:Virtual application name in ASP.NET CoreASP.NET Core 中的虚拟应用程序名称
【发布时间】:2017-12-15 22:49:37
【问题描述】:

我在虚拟应用程序名称下安装了一个 ASP.NET Core 应用程序。该网站的网址如下:

http://10.0.0.253/ApplicationName/

问题是所有重定向和静态文件路径都忽略了应用程序名称。如果我的剃须刀文件中有以下行:

<link href="~/css/Custom.css" rel="stylesheet">

输出将是http://10.0.0.253/css/Custom.css 而不是http://10.0.0.253/ApplicationName/css/Custom.css

问题是这个应用程序将在许多不同的虚拟应用程序下执行,这意味着我无法通过键入正确的 URL 来修复 URL,因为根据将要执行的应用程序,生成的 URL 会有所不同。 在 ASP.NET MVC 5 中,我可以使用以下代码获取虚拟应用程序名称:

string VPath = Request.ApplicationPath;

有没有办法在 ASP.NET Core 中获取这个值?

【问题讨论】:

  • 这是你的反向代理的角色,而不是应用程序(除了你只使用 Kestrel)

标签: asp.net-core asp.net-core-mvc asp.net-core-2.0


【解决方案1】:

有两种方法可以解决您的问题(通过代码,如前所述,可能还有其他通过基础设施的解决方案):

  1. 使用Url.Content 方法:
<link rel="stylesheet" href="@Url.Content("~/css/Custom.css")" />
  1. 使用LinkTagHelper(例如,通过指定asp-append-version 属性truefalse):
<link rel="stylesheet" href="~/css/Custom.css" asp-append-version="true" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 2011-01-23
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多