是否有内置的方式来获取诸如asp-append-version之类的文件路径字符串?

时间:2018-11-28 11:19:25

标签: asp.net-core razor-pages

我正在使用Web Worker运行任务:

worker = new Worker("/js/worker-media.js");

但是,我想添加它的版本以确保正确的更新。我正在使用这个:

// HTML
<div id="loader"
     data-url="@(this.AddFileVersionToPath("/js/worker-media.js"))"
     class="d-none"></div>

// Javascript
function loadWorker() {
    var workerUrl = document.getElementById("loader")
        .getAttribute("data-url");

    worker = new Worker(workerUrl);
}

我的问题是,当前我正在AddFileVersionToPath的下面实现自己的实现。已经有内置的东西来获取带有附加版本的文件路径吗?

public static class IRazorPageExtensions
{
    public static string AddFileVersionToPath(this IRazorPage page, string path)
    {
        var context = page.ViewContext.HttpContext;
        var cache = context.RequestServices.GetRequiredService<IMemoryCache>();
        var hostingEnvironment = context.RequestServices.GetRequiredService<IHostingEnvironment>();
        var versionProvider = new FileVersionProvider(hostingEnvironment.WebRootFileProvider, cache, context.Request.Path);
        return versionProvider.AddFileVersionToPath(path);
    }
}

0 个答案:

没有答案