AJAX调用 ASP.net 本地文件系统的怪问题

最近开发Ext应用,使用ajax请求数据时,遇到了请求数据以返回,但IE里却无法显示的怪问题。

使用HTTPWatch查看,发现ERROR_INTERNET_CONNECTION_RESET。

使用FireFox和google浏览器都没有问题,网上查找说网站放在IIS上没有问题,试验后证明有效。

但同事开发用机大部分都是XP系统,有部分还是HOME版,因此该问题必须找到原因解决才行。发现POST请求改为GET请求也不会出这个问题。

再进一步的大胆假设,小心求证。

在ProcessRequest最后增加

context.Request.InputStream.ReadByte();

后问题彻底解决

 

这证明了我之前的假设

情况可能是由于使用文件方式系统的网站,调试运行时使用的是ASP.NET Development Server而非IIS,因此运行机制上与IIS存在不同。

检查代码发现,处理该请求时,只获取了URL上的部分内容,并未对POST内容部分进行获取。

此时可能ASP.NET Development Server并未从IE链接过来的Socket中读取剩余部分,而程序处理完成后服务器端发送结果完成后该Socket链接断掉,而IE认为数据还没有发送完因此报了ERROR_INTERNET_CONNECTION_RESET错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值