Flex编码随笔

  1、CSS定义最好放在application里面。

        2、数据源是数组数据时,最好把数组转换为ArrayCollection.

        3、List、CheckBox等控件的HttpService Params传参处理:

var params:URLVariables = new URLVariables();  
var ar:Array=new Array();  
ar.push("www");  
ar.push("eee");  
params.users=ar;  

出来的查询字符串是:

&users=www&users=eee

        4、为了防止Flex的缓存清楚问题,可以再HttpService的回调函数最后调用HttpServiceObject.ClearResult()这是我从http://shanky.org/zh-CN/tag/httpservice/ 上得到的一个解决方案(下面的文章由于汉化原因,实际代码不可用)

 

 

其中一名与会者问我的问题,问题的Flex HTTPService和IE浏览器缓存。 我答应提供详细的解决这个问题,所以在这里:

问题 :重复HTTPService要求时,从软硬度(运行在一个实例的IE浏览器)许多倍最终没有外部的HTTP调用。 看来这些数据是从缓存。

原因是 : Flash播放器搭载在浏览器上进行的HTTP调用。 IE浏览器缓存的响应的HTTP GET要求和发生的相同的URL传回的响应缓存。

解决方案 :这个问题可以得到解决或者在服务器端或客户端。

服务器端的解决办法 :设置HTTP头的响应,以避免返回响应缓存。

 

在HTML : (在标题)

 

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> 

<META HTTP-EQUIV="expires" CONTENT="0">

 

 

PHP : (在脚本)

 < /p>

标题( “缓存控制:无缓存,必须重新” ) ; 

标题( “截止日期:星期一, 1997年7月26日5时00分00秒格林尼治标准时间” ) ;

 

在JSP中: (前书面向输出流)

 

response.setHeader ( “缓存控制” , “无缓存” ) ; 

response.setDateHeader ( “到期” , 0 ) ;

 

客户端的解决办法 : ( 1 )的HTTP邮政电话-只的HTTP GET要求是从缓存或( 2 )确定的HTTP GET网址是不同的每一次。

 

( 1 )的HTTP后呼吁- 

设置方法= “ post ”和呼吁妥善处理

 

( 2 )附加了一个独特的参数的HTTP GET要求,这样的网址是不同的每一次。 一种独特的时间戳记是一个很好的选择。 

下面的代码示例,可以做的工作:

 

无功timeStampForNocache :日期=新的日期( ) ; 

params.noCacheControlVar = timeStampForNocache.getTime ( ) 。 toString ( ) ; 

我已命名的参数“ noCacheControlVar ” 。 您可以将它命名为任何您请。 这个名字并不重要。 要紧的是,时间戳使独特的HTTP GET的URL 。

        5、界面初始化时的多HttpService结果数据如果之间有条件关系,那可以用事件响应链来解决这个问题。因为FLex是单线程,同步标志的方法可能不可行。

 

posted @   _朝晖  阅读(206)  评论(0编辑  收藏  举报
编辑推荐:
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂
· 凌晨三点救火实录:Java内存泄漏的七个神坑,你至少踩过三个!
点击右上角即可分享
微信分享提示
主题色彩