FineUI 官方论坛

标题: IHttpModule与V4.0beta2 Ajax请求冲突? [打印本页]

作者: cakey    时间: 2013-12-17 18:30
标题: IHttpModule与V4.0beta2 Ajax请求冲突?
本帖最后由 cakey 于 2013-12-18 12:24 编辑

我用IHttpModule写了一个上传初始化事件,在v4.0beta1版本中使用没问题,但是在v4.0beta2版本发现一个问题
1、我在上传文件时进度条正常,但是页面一直处于加载请求状态。
     经调试后发现,IHttpModule事件先执行,但是上传按钮中的事件一直没有触发,直到将近一分钟的事件,请求应该是超时了,加载框才会消失,但是上传按钮是处于disable状态,无法使用。
2、在关掉窗体或者等待超时后,才会执行上传按钮里的代码,由此可知,ajax请求阻塞了按钮事件执行。但是Request.Files.Count却为0。
     丢失的文件却在执行保存代码之前写了缓存,不明白是怎么回事,方便的话,三石兄来帮忙看看

空项目示例:下载地址

[attach]3984[/attach]

[attach]3983[/attach]

[attach]3982[/attach]



作者: sanshi    时间: 2013-12-18 09:22
请使用空项目 http://fineui.com/bbs/forum.php?mod=viewthread&tid=2123 创建重现问题的示例
作者: cakey    时间: 2013-12-18 12:25
sanshi 发表于 2013-12-18 09:22
请使用空项目 http://fineui.com/bbs/forum.php?mod=viewthread&tid=2123 创建重现问题的示例 ...

三石兄,已用空项目创建:地址
作者: sanshi    时间: 2013-12-18 15:00
cakey 发表于 2013-12-18 12:25
三石兄,已用空项目创建:地址

没看明白,UPModule.cs 似乎对 原来的上传机制是个破坏。

不过 public static Dictionary<string, ArrayList> dic = new Dictionary<string, ArrayList>(); 这样写肯定是不行的,会导致所有访问站点的人用同一个dic
作者: cakey    时间: 2013-12-18 15:04
sanshi 发表于 2013-12-18 15:00
没看明白,UPModule.cs 似乎对 原来的上传机制是个破坏。

不过 public static Dictionary dic = new Dic ...

这断IHttpModule代码是看人家写的,利用写入缓存读取服务器已经保存的文件字节数。把字典全局是比较暴漏,但是key是不同的,可以设成用户名之类的,关键是好调用,哈哈,想先实现功能再说的。贴一个beta1的使用地址http://xu.w14.360sw.cn/
作者: cakey    时间: 2013-12-18 15:27
sanshi 发表于 2013-12-18 15:00
没看明白,UPModule.cs 似乎对 原来的上传机制是个破坏。

不过 public static Dictionary dic = new Dic ...

我又把dll换成beta1的,好像也会出现这种问题,貌似是我加了别的代码冲突的,三石大大谢谢了,我自己再找找问题




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4