C# 如何在ASP.NET核心网页中应用应用程序外壳架构?

C# 如何在ASP.NET核心网页中应用应用程序外壳架构?,c#,caching,asp.net-core,service-worker,progressive-web-apps,C#,Caching,Asp.net Core,Service Worker,Progressive Web Apps,我正在尝试将应用程序外壳架构应用于ASP.NET core 2.0中的测试应用程序。在这个测试应用程序中实现PWA功能时,我尽量让事情变得非常简单,以测试性能变化。因此,我使用WebEssentials.AspNetCore.PWA NuGet包来设置我的PWA功能 现在,我一直在努力寻找如何应用可以缓存的应用程序外壳,而一些动态内容(在我的例子中是简单的局部视图)仍然是从网络加载的。 NuGet包的文档解释了不同的缓存策略,但没有特别说明这一策略。但是,有关缓存指纹策略的信息表明,使用此策略应

我正在尝试将应用程序外壳架构应用于ASP.NET core 2.0中的测试应用程序。在这个测试应用程序中实现PWA功能时,我尽量让事情变得非常简单,以测试性能变化。因此,我使用WebEssentials.AspNetCore.PWA NuGet包来设置我的PWA功能

现在,我一直在努力寻找如何应用可以缓存的应用程序外壳,而一些动态内容(在我的例子中是简单的局部视图)仍然是从网络加载的。 NuGet包的文档解释了不同的缓存策略,但没有特别说明这一策略。但是,有关缓存指纹策略的信息表明,使用此策略应该是可行的:

此策略对于不希望缓存的场景非常有用 某些资源--例如大型视频或音频文件--但是 仍然希望缓存应用程序核心资产(HTML、CSS、JS)

它是这样做的:

此策略仅添加指纹资源(具有v 查询字符串参数,例如'site.css?v=8udsfasufd09sud0809sd_ds)到 缓存

它将始终尝试缓存指纹资源,然后下降 回到网络。对于所有其他资源,它将使用网络

但是如何将指纹添加到index.cshtml或layout.cshtml?另外,我想知道这是怎么回事,因为浏览器不能使用cshtml文件

此外,如果我尝试使用存储所有页面内容的缓存策略来缓存我的动态内容(这是一个cshtml文件,因为它是一个局部视图),我假设html本身没有被缓存,而它包含的图像文件是被缓存的

我的(是的,非常基本的)Ajax请求设置如下:

我有一个名为
partialView1.cshtml
的局部视图。 我的家庭控制器包含

public IActionResult partialView1()
{
      return View();
}
我在index.cshtml中的Ajax调用如下

$.ajax({
  type: 'GET',
  dataType: 'html',
  url: '@Url.Action("partialView1")',
  success: function (result) {
  $('#partialID1').html(result);
  }
});
并引用一个简单的空div

<div id="partialID1"></div>

因此,由于我的动态内容没有通过文件名进行调用,我如何能够使用指纹方法对其进行缓存?
我读过关于从ASP.NET以html字符串形式返回cshtml的文章,但我仍然不知道如何缓存它