像我这样的菜鸟能看懂的FluorinerFX .NET简单教程[根据我的配置少许变动]:(原文:http://fck.name/archives/flash-remoting-with-fluorinefx-net/)开发环境:安装了FluorineFx的VS2008/2005,Flash CS3 pro。[我的是vs2003 flex3]服务器端建立:在VS里新建一个空的解决方案,在此解决方案里添加“FluorineFx ServiceLibrary”项目,然后再在此解决方案里添加一个“FluorineFx ASP.NET Web Site”网站项目,在新建立的FluorineFx ServiceLibrary里创建类,提供公共方法,用于提供给客户端的远程调用,Sample.cs类清单如下:[我的vs2003里新建:FluorineFxWebApplication项目,起名为Flfx,生成项目后,自动生成个Sample.cs类]
using System; using FluorineFx; namespace Flfx{ /// <summary> /// Fluorine sample service. /// </summary> [RemotingService( " Fluorine sample service " )] public class Sample { public Sample() { } public string Echo( string text) { return " Gateway echo: " + text; } //下面的方法非自动生成 public Array nameList(Array namearr) { // 对客户端传来的数组进行排序 Array.Sort(namearr); return namearr; } }}客户端建立:这里的AS3里有几个重要的类1、NetConnection类,连接与调用远程应用程序服务器的公共接口(公共方法)2、Responder类,用于处理服务器的返回值,Responder对象可以拥有两个定义的方法来处理返回的结果:result和status。如果返回的结果为错误,则将调用status处理函数,否则将调用result处理函数来处理远程.net方法返回的结果。看看文档类FluorineFlash.as的实现:
package { import flash.display.Sprite; import flash.events.Event; import flash.net.NetConnection; import flash.net.ObjectEncoding; import flash.net.Responder; public class FluorineFlash extends Sprite { private var nc:NetConnection; private var rp:Responder; private var names:Array; public function FluorineFlash() { init(); startCall(); } private function init(): void { // 建立一个数组,用于传给远程.net方法做参数 names = [ " SunNeon " , " FCK " , " Neon " ]; nc = new NetConnection(); // 以处理来自服务器的返回值 rp = new Responder(successResult,errStatus); // 指示应对其调用回调方法的对象 nc.client = nc; // 设置采用的编码 nc.objectEncoding = flash.net.ObjectEncoding.AMF3; nc.connect( " http://localhost/Flfx/Gateway.aspx " ); } private function startCall(): void { trace( " 调用远程nameList方法! " ); // 执行调用远程nameList方法,并为方法传递names数组 nc.call( " Flfx.Sample.nameList " ,rp,names); } private function successResult(result:Array): void { trace( " 返回结果: " + result); trace( " 调用成功! " ); // 关闭连接 nc.close(); } private function errStatus(result:Boolean): void { trace( " 发生错误! " ); nc.close(); } }}
我们在客户端AS里定义了一个数组names,然后通过nc对象的 call(”Flfx.Sample.nameList”,rp,names)方法把数组作为远程方法nameList的参数传递给Flfx项目里Sample类的nameList公共方法,并对其数组进行排序,然后返回给FLASH!FLASH输出结果为:
调用远程nameList方法!返回结果:FCK,Neon,SunNeon调用成功 !感谢原作者.
转载于:https://www.cnblogs.com/aoogur/archive/2008/12/24/1361141.html
相关资源:数据结构—成绩单生成器