在AS3中,目前我们只能使用NetConnection来调用Flash Remoting(
http://www.riafan.com/flash-remoting-actionScript-3.0),不过我总觉得用起来好像不方便,参照Flash Remoting ActionScript 2.0的API,我对NetConnection调用 Remoting服务进行了简单封装,大家可以参考一下。
类似地,这套类库也包括Service、PendingCall等类,主要是主了方便已经习惯使用Flash Remoting ActionScript 2.0 API的用户。
用法很简单。
package { import flash.display.Sprite; import flash.net.ObjectEncoding; import com.riafan.remoting.PendingCall; import com.riafan.remoting.Service; import com.riafan.rpc.FaultEvent; import com.riafan.rpc.ResultEvent; /** * Flash Remoting ActionScript 3.0 * @author Flying */ public class Main extends Sprite { public function Main() { //创建远程服务 var service : Service = new Service("tutorials.remoting.HelloWorld", "http://www.riafan.com/Gateway.aspx", ObjectEncoding.AMF3); //调用远程方法 var rpc : PendingCall = service.sayHello("Flying"); //注册调用成功的事件侦听器对象 rpc.addEventListener(ResultEvent.RESULT, successHandler); //注册调用成功失败的侦听器对象 rpc.addEventListener(FaultEvent.FAULT, resultHandler); } //声明处理调用成功的侦听器函数 private function resultHandler( re : ResultEvent ) : void { // 您好,Flying。这是来自Fluorine Flash remoting的问候 trace(re.result); } //声明处理调用失败的侦听器函数 private function faultHandler( fe : FaultEvent ) : void { trace(fe.fault.description); } } }
是不是方便多了?点击此处下载源码。