具有不同路由属性的缓存标签助手

问题描述

我想使用具有不同路由属性的缓存标记助手,但我不确定我的实现是否正确。

我的路线是这样的:http://mywebsite.com/category/job/region/department/city

"category/job/region/department/city" 是我在 Startup.cs 的路由模板中定义的路径参数:

app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "DB_Pages",template: "{**path}",defaults: new { controller = PathHelper.GetControllerName<PageController>(),action = nameof(PageController.Page) });
      });

我想缓存出现在所有页面上的菜单,但内容取决于 url。所以我在我的视图组件输出中设置(razor - Default.chtml):

<cache expires-sliding="@TimeSpan.FromHours(24)" vary-by-route="path">
    <!-- Dynamic Html code -->
</cache>

但是当我两次访问同一个网址时,我看不出任何区别。我想知道缓存是否正常工作。

PS:我有 app.UseResponseCaching();在 Startup.cs 中(我不确定这是否相关)

解决方法

这是一个工作演示:

启动:

filepath = '/my/own/file.wav'
file_contents = tf.io.read_file(filepath)
wavform = tf.expand_dims(tf.squeeze(tf.audio.decode_wav(
      file_contents,desired_channels=-1,desired_samples=TARGET_SAMPLE_RATE).audio,axis=-1),0)
    cropped_waveform = tf.slice(waveform,begin=[0,0],size=[1,EXPECTED_WAVEFORM_LEN])    
    spectrogram = tf.squeeze(preproc_model(cropped_waveform),axis=0)
print(spectrogram)


Output:

tf.Tensor(
[[[nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
   ...
   [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]
  [nan]]],shape=(43,232,1),dtype=float32)

查看:

app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",pattern: "{controller=Home}/{action=Index}/{path?}");

            });

结果: enter image description here