flex4, 错误2032, 流错误
右击项目-》properties
出来如下界面,
选择flex构建路径,
然后框架链接选择
合并到代码中,重新编译解决
邪恶的ie6终于搞定了 - -
贴具体代码:
Response.Buffer = true;
//Response.AppendHeader("Pragma", "No-Cache");
Response.AppendHeader("Cache-Control", "no-cache,no-store,nust-revalidate,post-check=0,pre-check=0");
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
//Response.Expires = -1;
//Response.CacheControl = "no-cache";
Response.ContentType = "text/XML";
日前用flex、arcgis做了一个地图显示的页面,本机调试没问题,发布后放到用户服务器上(win2003,ie6)ie6显示页面空白,换搜狗浏览器显示Error #2032,只显示进度条,客户端用ie6显示空白,360浏览器等显示Error #2032。用下面两种方法联合后问题解决。
从网上找的几个解决办法,留做备用
第一种情况:
状况:在安装flshbuilder的机器上调试或发布用多种浏览器运行都没问题,但发布到没装flshbuilder的机器上后别的机器除了装过flshbuilder的机器上运行正常外,其余都页面空白
然后发布,
就可以了
方法: 在IIS中,添加一个MIME 类型 文件扩展名 .swz MIME 类型: application/x-shockwave-flash 或者不要选择rsl,方法如下:IIS -> 网站 -> 属性 -> HTTP头 -> MIME类型 -> 新建 扩展名:.swz/ MIME类型:application/x-shockwave-flash -> 确定
内容:在flex程序初始化默认加载滚动条还没出来时就报了Error 2032 IO流错误,但只限于三维演示厅里的用户机上运行时才出现,别的机器都正常,后来将flash builder中的编译参数改为merged into swf,就是将flex框架嵌入到swf里面,而不是使用shared library共享库,问题解决。
过了几个月又碰到这个问题,只是在笔记本上会报Error2032,在其他电脑上都没问题,用Fiddler分析http请求发现,在使用RSL的flex程序初始化时会去下载xxx.swz文件,而IIS服务器返回的是404找不到此文件,而服务器上分明有这个文件,怀疑是IIS没有swz文件的MIME类型,在IIS上增加swz的MIME类型为application/x-swz后,问题解决!
为什么只在某些电脑上发生这个错误?因为RSL的机制问题,当flash player第一次访问使用RSL的flex程序时,会下载所需的swz文件,然后保存在flash player自己的缓存目录里(win7下为X:\Users\用户名\AppData\Roaming\Adobe\Flash Player\AssetCache\随机目录名),清除浏览器的缓存并不会影响flash player的缓存。再次访问时会先检查并使用缓存中的swz文件,所以在已有swz缓存的电脑上不会出现这个问题。
IIS增加处理不同的文件扩展名MIME类