我们将视频流式传输到我们的客户端,我们注意到上传视频但浏览器仍然播放缓存值(旧视频)的问题。
我认为这与视频的 etag 有关(正如我在提琴手中看到的那样)。
所以我的问题是,如果我上传了一个新版本的视频,然后客户端发出了对视频的请求,我怎样才能确保返回最新的上传视频而不是来自客户端浏览器的缓存副本?
我们将视频流式传输到我们的客户端,我们注意到上传视频但浏览器仍然播放缓存值(旧视频)的问题。
我认为这与视频的 etag 有关(正如我在提琴手中看到的那样)。
所以我的问题是,如果我上传了一个新版本的视频,然后客户端发出了对视频的请求,我怎样才能确保返回最新的上传视频而不是来自客户端浏览器的缓存副本?
您如何“流式传输”您的视频?
如果只是一个下载链接,那么也许看看ASP.NET 中的 Cache busting,它可以与 ServiceStack 一起用于静态内容,尽管没有尝试使用视频。如果你返回一个流,也许[AddHeader(CacheControl = "private")]
?
或者在 AppHost Configure 方法中指定静态缓存设置:
this.SetConfig(new EndpointHostConfig {
AddMaxAgeForStaticMimeTypes =
new Dictionary<string, TimeSpan>
{
{
"image/jpeg",
TimeSpan.FromDays(7.0)
},
{
"video/mpeg",
TimeSpan.FromDays(1.0)
},
} });