使用Firefox浏览器。打开index页,求index该控制器是很多次,代码查询数据库的多个运行。server减速。
而且没有刷新页面,随着时间的推移有十二请求。无限循环。这件事情从来没有遇到过,真糊涂。
认真查看了一下原因,原来是图片的src,数据库中路径没有的情况下,src="/" ,直接请求了默认的index控制器。
之后通过 在Index控制器中加一段处理代码处理了,并且还能够有图片没有的情况下。显示一张默认图片。
代码例如以下,加在控制器最前。
if (Request.UrlReferrer != null)//某页面上图片请求的 UrlReferrer就是页面本身
{
string Accept = Request.Headers["Accept"];
if (Accept.StartsWith("image/") && Accept.Contains("application/")==false ) //图片请求通常是:image/png,image/*;q=0.8,*/*;q=0.5,IE和firefox中请求不同。页面请求也包括image/
{
return File("/Content/images/Show/Show_pic07.jpg","image/jpeg");
//假设是图片src请求。返回一张默认图片,后面查询数据库的代码才不会反复运行。
//假设不返回正确的图片,火狐浏览器会无限循环请求下去.
}
}
总结:本来10分钟就可以解决的事情。花了一个半小时 ,这与经验,开发过程。我们必须不断积累经验。
版权声明:本文博主原创文章,博客,未经同意不得转载。