被IE擅自缓存AJAX GET请求绊了一跤

作者:V君 发布于:2015-5-12 10:31 Tuesday 分类:填坑经验

TL;DR: IE,GET请求就给我加上时间QueryString,要么用POST!!!

 

这些天在做报表, 由于数据量太大, 计算需要太长时间, 普通的ajax会超时.

于是在服务端开了个线程处理, 客户端轮询状态直到完成再按需呈现成网页表格或Excel导出.

 

调试的时候挺愉快的, 各种流程都按预期的一样, 那是因为用Chrome.

由于开发环境数据量太少, 跑起来没什么意思.


于是发布到测试环境, 那边数据比较多, 这时候问题来了, 客户端轮询进度一直没推进.


用IE内置的F12监视也没问题 -- 老老实实的请求和响应, 每次内容都一样... 

(如果用Fiddler的话 应该能马上察觉到吧..... 偷懒的后果, 自做自得....)

 

那时还以为是数据量太大或者线程挂掉了... 尝试各种途径去做调试...

因为觉得打日志是羞耻的, 更希望能远程调试或者附加调试.


服务器装的2003, 不支持我大锄头2013的远程调试器,

但是支持2010的调试器, 好吧, 为此装了个2010, 远程连接失败... 折腾数次仍未果, 放弃.


想起SharpDev这货能附加调试, 搞了个放到测试服务器 -- 列不出可附加的进程..

查了才知道这货只支持x86调试.... 又查了如何让IIS6程序池用32位... 未果.

(IIS6的x86模式只有总开关, 似乎还会影响iisapp命令...放弃折腾)

 

如今终于“放弃荣辱观” -- 做大量日志以监视服务器工作状态 -- 嗯?

线程有好好的启动和结束...


好吧, 可能是服务端多线程的volatile问题,于是给状态字段加了这个关键字,

问题当然依旧, 这时, 恼火了, 让测试人员使用Chrome看看

马丹! 果不其然 结果很正常的呈现了!

 

好吧 写在这里挂起来吧 _(:3」∠)_

标签: 软件开发 C# ASP.NET IE AJAX 多线程

评论(0) 引用(0) 浏览(2114)

Powered by emlog 去你妹的备案 sitemap