c# - 非法 304 HTTP 响应?

标签 c# image google-chrome

所以这是一个有趣的问题,我什至不确定从哪里开始研究这个问题。我有一个用 C# 编写的 MVC3 应用程序,其中列出了在线广告。在主页上,它显示了一个包含照片的 10 个最新广告的列表。看看this page在 Chrome 中。在第一页加载时,它加载得很好。现在按F5。它将继续在浏览器选项卡中显示“正在加载”指示器,如果您向下滚动,则不会显示 2 或 3 个广告图片。奇怪的是它总是在页面的同一区域显示图像(可能是第 6、7 或 8 个图像)。它从来不是前几个,也从来不是最后一个。

这只会在 Chrome 中发生,并且只会在您按下 F5 时发生。如果您单击顶部的“Equispot” Logo (会将您重定向到主页),它就可以正常工作。

有没有人知道可能导致此问题的原因或如何解决此问题?

编辑:我想我可能有所进展。 Fiddler 在未显示的图像上指示 500 错误。这是错误:

[Fiddler] 响应 header 解析失败。 这可能是由于先前在此重用服务器套接字上的非法 HTTP 响应引起的——例如,非法包含正文的 HTTP/304 响应。

由于我所有的图像都被缓存了,并且在丢失图像之前有几个 304 响应,这似乎是一个可能的罪魁祸首。不确定如何进行修复,因为这对我来说是陌生的领域。

最佳答案

发现问题。我有一个 FileCache 属性,它向缓存图像的响应中添加了不必要的字节。删除它,问题自行解决, Controller 现在返回 0 字节 304 响应。

关于c# - 非法 304 HTTP 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6641786/

相关文章:

html - Chrome 忽略音频预加载 ="metadata"

javascript - Chrome最新版本(版本47.0.2526.80 m): navigator. webkitGetUserMedia返回一个没有停止功能的流

c# - 在Docker容器中运行SQLite内存中单元测试时出错

c# - 不要使用 Type.GetMethods() 返回 ToString、Equals、GetHashCode、GetType

javascript - 如何在 HTML5 Canvas 上移动绘制的图像?

javascript - 使用 jQuery 获取图片 src

c# - Entity Framework : Many To Many Count and Sum

c# - 是否可以创建用于将项目添加到 Entity Framework dbset 的通用方法?

php - 动态检索图像尺寸的最快方法

Javascript 仅适用于alert() 和 Debug模式