Asp.net mvc 还有,ASP.NET MVC内容文件夹的神奇之处是什么?

Asp.net mvc 还有,ASP.NET MVC内容文件夹的神奇之处是什么?,asp.net-mvc,caching,asp.net-mvc-routing,mvc-mini-profiler,Asp.net Mvc,Caching,Asp.net Mvc Routing,Mvc Mini Profiler,我刚刚将我的资源文件(javascript、css、图像)从Content文件夹移动到自定义Assets文件夹。我注意到一个奇怪的行为-这些文件不再由浏览器缓存,并显示对位于资产文件夹中的每个资源的单独请求: 我知道ASP.NET MVC约定不需要Content文件夹,但为什么会发生这种情况?内容是否被任何人(如ASP.NET、IISExpress等)以某种方式处理?以及如何强制缓存包含静态资源的其他文件夹 编辑:哦,这似乎不是ASP.NET MVC的奇怪行为,而是MvcMiniProfile

我刚刚将我的资源文件(javascript、css、图像)从
Content
文件夹移动到自定义
Assets
文件夹。我注意到一个奇怪的行为-这些文件不再由浏览器缓存,并显示对位于
资产
文件夹中的每个资源的单独请求:

我知道ASP.NET MVC约定不需要
Content
文件夹,但为什么会发生这种情况?
内容
是否被任何人(如ASP.NET、IISExpress等)以某种方式处理?以及如何强制缓存包含静态资源的其他文件夹

编辑:哦,这似乎不是ASP.NET MVC的奇怪行为,而是MvcMiniProfiler的标准行为。目前我正在检查

编辑:是的,ASP.NET MVC没有问题,它只是MvcMiniProfiler的一个例子,只忽略以下路径:
“/mini profiler-”、“/content/”、“/scripts/”、“/favicon.ico”
。这些默认值可以很容易地扩展:

MiniProfiler.Settings.IgnoredPaths = MiniProfiler.Settings.IgnoredPaths
    .Concat(new [] { "/assets/" })
    .ToArray();

有时,在使用某些东西之前阅读文档是个好主意;)

这是一种奇怪的行为。但是,请将以下代码放入应用程序根目录下的web.config文件中:

  <system.webServer>
    <staticContent>
      <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
    </staticContent>
  </system.webServer>


这段代码附加了必要的响应头,以便浏览器缓存工作。当然,你可以调整时间。有关更多信息,请参阅:

正如您在更新中指出的,这似乎是MvcMiniProfiler的一项功能:

/// <summary>
/// When <see cref="MiniProfiler.Start"/> is called, if the current request url contains any items in this property,
/// no profiler will be instantiated and no results will be displayed.
/// Default value is { "/mini-profiler-", "/content/", "/scripts/", "/favicon.ico" }.
/// </summary>
[DefaultValue(new string[] { "/mini-profiler-", "/content/", "/scripts/", "/favicon.ico" })]
public static string[] IgnoredPaths { get; set; }
//
///调用时,如果当前请求url包含此属性中的任何项,
///不会实例化任何探查器,也不会显示任何结果。
///默认值为{“/mini profiler-”、“/content/”、“/scripts/”、“/favicon.ico”}。
/// 
[DefaultValue(新字符串[]{/mini profiler-”、“/content/”、“/scripts/”、“/favicon.ico”}]
公共静态字符串[]ignoredpath{get;set;}

据推测,当您通过Cassini为图像提供服务时,图像从未被缓存,因为Cassini在这方面很糟糕(例如,将png文件作为应用程序/八位字节流传递),但问题是由MvcMiniProfiler手动从您的视图中隐藏的。

类似的问题-谢谢,我们是对的:)!我在同一个文件中找到了答案,但我想知道这个功能是否有文档记录,并且没有找到任何文档或博客文章,只有源代码。