首页 新闻 赞助 找找看

问一个棘手的问题,关于iis7集成管线模式下Response.Flush的问题

0
悬赏园豆:200 [已解决问题] 解决于 2012-02-08 19:19

如果asp.net站点处于iis7集成管线模式下的时候,一旦遇到Response.Flush()方法的时候程序就会中断,既没有任何状态返回也没有任何错误提示。如果把站点弄成经典模式就完全没有问题。之后我又测试了一下

            Response.Buffer = false;
            Response.BufferOutput = false;

将输出缓存关闭了,只要Response.Write也会中断。现在的问题是如何在集成管线模式下用Flush()?因为条件特殊还必须用集成管线和Flush。谷歌百度都搜索遍了,没有讨论这个问题,请问各位大侠有没有什么办法。

全球通的主页 全球通 | 初学一级 | 园豆:22
提问于:2012-02-07 23:32
< >
分享
最佳答案
0

不出错的地方贴上来下看看,据你描述来看,看不出什么问题。

收获园豆:200
az235 | 大侠五级 |园豆:8483 | 2012-02-08 10:03

问题出现在HttpResponse.UpdateNativeResponse方法内部,属于asp.net的系统bug,如需要解决这个问题,你可以制度返回的数据长度。

问题已经被微软收集了http://connect.microsoft.com/VisualStudio/feedback/details/480689/response-flush-clears-content-type-header

az235 | 园豆:8483 (大侠五级) | 2012-02-08 10:11

其实跟我上下文代码没什么关系,因为就算在Page_load里面就只写 Response.Flush() 这么一行都会出问题。

 

另外,你说指定返回的长度 Content-Length ,不过这个真不知道页面的代码会有多长,因为是动态的。

全球通 | 园豆:22 (初学一级) | 2012-02-08 10:29

@az235:

 

这个微软都已经收集了2年多了,也不给解决么…………。或者是不是升级到.net 4.0才行?目前我用的3.5

全球通 | 园豆:22 (初学一级) | 2012-02-08 11:51

@全球通: Content-Length 的长度是可以获得的,就算是动态的也好,至于升级的事情,你可以试试,反正成本不高

az235 | 园豆:8483 (大侠五级) | 2012-02-08 12:52

@全球通: 咋获取呢?在Flush前根本不知道后面有多少内容要输出的。

全球通 | 园豆:22 (初学一级) | 2012-02-08 16:19

@az235: 咋获取呢?在Flush前根本不知道后面有多少内容要输出的。

全球通 | 园豆:22 (初学一级) | 2012-02-08 19:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册