1、private var service:RemoteObject = new RemoteObject("remote");
与
private var service:RemoteObject = new RemoteObject();
service.destination = "Cvbs-remote";
一致
2、var call:AsyncToken = service.executeFlex(data);
由于RemoteObject 继承的AbstractService 继承了Proxy 因此可以使用代理模式
查看AbstractService 的源代码
上面的代码与:
var remoteMethods:AbstractOperation = service.getOperation("executeFlex");
remoteMethods.send(data);
一致
AbstractService 中代码:
public dynamic class AbstractService extends Proxy implements IEventDispatcher { /** * @private */ override flash_proxy function callProperty(name:*, ... args:Array):* { return getOperation(getLocalName(name)).send.apply(null, args); } public function getOperation(name:String):AbstractOperation { var o:Object = _operations[name]; var op:AbstractOperation = (o is AbstractOperation) ? AbstractOperation(o) : null; return op; } 。。。 }
3、无论何时从你的flex/AIR应用中使用多个外部调用中的一个,你都不会知道这些调用是否或者何时返回结果(或者错误),你也不会知道它们返回的顺序。即使你按照"RO1","RO2","RO3"的顺序调用远程对象,它们返回的顺序还是可能不一样。你可能也希望针对这些结果能有不同的处理。
一种方式就是给每一个调用分配一个异步令牌(AsyncToken )来追踪这些调用。
不要这样来进行远程调用:
myRO.myRemoteMethod();
你应该这样:
var token:AsyncToken=myRO.myRemoteMethod();(确保导入了mx.rpc.AsyncToken)
现在就有了一个变量"token",代表这个单独的调用。像这样,你可以分配token自己的result和fault处理函数
token.addResponder(myResponderClass);
这里myResponderClass类实现了IResponder.实现Iresponder简单的意味着定义了如下两个方法签名:
* public function result(data:Object):void
* public function fault(info:Object):void
因此你可以对你的远程调用在调用时设置result和fault处理函数,而不用把硬编码放到你的远程对象,HTTPService或者WebService标签里。这也恰好就是Cairngorm和其他微体系结构的运行方式。
AsyncToken最后一点很酷的特性就是它是动态类。这意味着,当你进行远程调用时可以添加属性到token上,然后result/fault处理函数中读取这些属性。
另外,在flex sdk3.4中有CallResponder,可以用CallResponder实例的token属性引用这个异步令牌。在flex sdk3.2中式没有这个类的,如果要用的话就只能自己写了,只要这个类继承自Iresponder接口就可以了
相关推荐
Flex 和RemoteObject通讯方式 图文解释!
两个项目,flex + java + RemoteObject,实现一个简单的RemoteObject通信案例
FLEX使用RemoteObject方式和后台童心
remoteObject-java简单CURD例子.rar
flex中actionscript动态调用remoteobject类,很简单的一个例子,后面可以扩充,动态调用java的方法,可在java方法中放个switch,返回不同的结果集
NULL 博文链接:https://fykyx521.iteye.com/blog/377002
使用封装后的RemoteObject和java通信,以blazeds做为第三方软件,上传的是一个Demo实例
flex4 中,用remoteobject 实现多文件上传的例子,有进度展示
1、修改apache-tomcat-6.0.14\bin\catalina.bat文件中的JAVA_HOME的值,指向你所装的jdk的目录;我用的是jdk1.6,后台的java类也是用这个版本编译的; 2、启动tomcat ... 查看效果! 4、包含源代码。
flex使用 RemoteObject 与java进行json格式的数据交互
介绍flex使用RemoteObject技术
本实例介绍如何使用flex 访问 remoteObject,里面除了实例之外还对项目的配置过程进行了详细的介绍,只要按照步骤去配置你就可以配置好的。
一个用Flex调用JAVA方法的例子ffffffff
flex中RemoteObject与java的通信,其中有详细的步骤和代码,照着做能实现功能,对初学者很有用
eclipse3.7 + flash builder 4.5插件 + tomcat6.X调试通过,一个flex remoteobject简单例子(BlazeDS)。实际导入后指定flex server--java settings--blazeds.war的路径
自己下载的基于delphi的 ERP管理系统,使用了sqlserer 2000数据库,拥有客户端、服务端源码 亲测可用。并且添加了remoteobject 三层应用框架,是学习三层应用的最好帮手
NULL 博文链接:https://longyi-java.iteye.com/blog/986183
Delphi多层开发方案比较 方案-> Midas DCOM COM+ ASTA RemoteObject .NET
flex3(remoteobject+datagrid+.....)+java+oracle源代码