net下的FLEX开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

flex3+.net开发flashRemoting一---开发环境本篇文章将介绍flashRemoting开发的必备的运行环境和相关配置过程:一。开发必备环境。1.flex3,请从Adobe官方网站下载或其它地方找D版(目前为止D版还没有出)。2.VisualStudio2005,.net2.o。3.fluorinefx(flash(flex)Remoting与服务器程序数据交互的.net服务器端运行环境),下载地址:。二。相关配置过程。1.安装fluorinefx,安装时请退出VisualStudio先。2.安装fluorinefx后,打开VisualStudio2005,文件--新建--项目--其它项目类型--VisualStudio解决方案--空白解决方案。3.然后在解决方案资源管理器右键,添加--添加新网站--fluorinefxASP.NETWebSite,设置网站名称和路径,Ok,.net服务器端配置完成(如下图)。4.打开Flex3,File--New--FlexProject,在ProjectName(工程名称)中输入RemotingDemo,Projectlocation(工程路径)选择工程径,Applicationtype(应用程序类型)此处选择Webapplication(runinFlashPlayer),Servertechnology的ApplicationServerType选择CodeFusion之CodeFusionFlashRemoting,然后Next(如下图)。5.Serverlocation之CodeFusionserverinstallationtype请根据服务器类型选择,如果服务器是CodeFusion请选择Standalone,如果是.net或Java请选择DeployedJ2EEServer,这个地方本人在建项目时遇到麻烦,因为看到J2EEServer这个字眼,以为专为Java设置的,故选择了Standalone,岂知ValidateConfiguration始终没有成功,提示为“Invalidroot.TheWEB-INF/flexfoldermustcontaineitherflex-config.xmlorservices-config.xml.”。baidu了一下,才明白Standalone是CodeFusion服务器类型的,所以马上选择DeployedJ2EEServer,然后设置Webroot(网站根目录)为第3步新建的fluorinefxASP.NETWebSite的网站根目录,RootUrl(网站根目录URL)为运行刚刚新建的fluorinefxASP.NETWebSite的Url,Contextroot这个没弄白什么意思,上网也没有找到相关资料,不过后来调试Flex项目时出错,trace异常信息才发现,如果未设置Contextroot,那访问服务器的网址就不对(少于WebFR),对照了一下,如果Webroot为,那Contextroot应该设置为WebFR。Outputfolder会自动填写(根据以上的配置),点击“Finish”完成(如下图)。OK,flex3+.net开发flashRemoting的配置就完成了,其中要注意的地方在上面的文字中以红色标记,接下来就要编程了。flex3+.net开发flashRemoting二---功能定义一.介绍:本示例将向读者展示3个基本的功能:DisplayHellow、SayHellowWorld和GetUsers。二.功能描述。1.DisplayHellow本方法返回一个字符串。2.SayHellowWorld本方法接受一个参数,并返回相关字符串。3.GetUsers本方法返回一个自定义对象(User)。三.服务器端代码。打开VisualStudio2005,在App_code中创建以下类:1.User.csusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;namespaceHxw.Demo.FlashRemoting{///summary///Users的摘要说明////summarypublicclassUser{publicUser(){}publicUser(string_name,int_age,string_sex){this._name=_name;this._age=_age;this._sex=_sex;}privatestring_name=string.Empty;privateint_age=0;privatestring_sex=string.Empty;publicstringName{get{return_name;}set{_name=value;}}publicintAge{get{return_age;}set{_age=value;}}publicstringSex{get{return_sex;}set{_sex=value;}}}}2.Hellow.csusingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Collections.Generic;usingFluorineFx;namespaceHxw.Demo.FlashRemoting{///summary///Hellow的摘要说明////summary[RemotingService]publicclassHellow{publicHellow(){}///summary///输出HellowWorld。////summary///returns/returnspublicstringDisplayHellow(){returnHellowWorld!;}///summary///某人说HellowWorld。////summary///paramname=name/param///returns/returnspublicstringSayHellowWorld(stringname){if(string.IsNullOrEmpty(name))returnSorry,thenamedisallowforempty.;returnname+say:HellowWorld!;}///summary///获取用户。////summary///returns/returnspublicListUserGetUsers(){ListUserlist=newListUser();list.Add(newUser(张三,50,男));list.Add(newUser(李梅,20,女));list.Add(newUser(王麻子,45,男));list.Add(newUser(dudu,30,男));list.Add(newUser(mrhgw,30,男));list.Add(newUser(丽丽,25,女));returnlist;}}}注意:请在Hellow.cs中引入FluorineFx命名空间,并将类标记为[RemotingService],否则在Flex中无法引用到当前类。flex3+.net开发flashRemoting三---Flex编程一.相关说明。1.声明。在研究flashRemoting的时候,参考了很多相关方面的资料,其中包括博客园里很多网友的大作(比较全面的有“幸福★星”的Flex与Asp.Net通过Remoting方式进行通讯系列文章),如在本篇中有雷同或类似的代码,请大家多多包涵。2.永远的HellowWorld。在研究flashRemoting的时候,发现书中或网上的很多都是以HellowWorld为示例,为使文章通俗易懂,本篇仍旧将“HellowWorld”进行到底。3.FlashRemoting访问服务器端的两种方式的实现。1.可视化组件访问。这种方式方便快捷,现在网上大部分的资料都是以这种方式实现。2.编程创建NetConnection类实例访问。这种方式实现相对要麻烦一些。虽然以上两种方式最终的实现原理是一样的,但本人还是喜欢以编程的方式(即方法2)实现。二.FlashRemoting访问远程服务(以可视化组件方式实现)。1.在Flex编程之前,请先完成服务器端相关代码创建,详见本系列文章第二篇“flex3+.net开发flashRemoting二---功能定义”。2.在建立Flex工程后,有一个默认的MXMLApplication,打开该文件。3.在Design模式下,添加一个Button控件,id为btDisplayHellow,Label属性为Call,click事件sampleRemoteObject.DisplayHellow(),在Source模式下,加入如下代码:mx:Script![CDATA[importmx.rpc.events.FaultEvent;importmx.rpc.events.ResultEvent;importmx.controls.Alert;publicfunctionRemoteResult(re:ResultEvent):void{varstr:String=re.resultasString;Alert.show(str);}publicfunctionRemoteFault(re:FaultEvent):void{Alert.show(Message:+re.fault.faultString,出错);}]]/mx:Script!--这里Source对应.NET类,前面是命名空间,后面是类名source=命名空间.类名--mx:RemoteObjectid=sampleRemoteObjectdestination=fluorinesource=Hxw.Demo.FlashRemoting.HellowshowBusyCursor=true!--这里是.NET中的方法,name=方法名--mx:methodname=DisplayHellowresult=RemoteResult(event)fault=RemoteFault(event)/mx:Buttonx=10y=21label=Callid=btDisplayHellowwidth=120fontSize=15click=sampleRemoteObject.DisplayHellow()//mx:RemoteObject4.运行工程。5.如果FlashRemtoing调用远程服务出错,请注意以下方面:.请注意在Flex运行工程之前,请先运行.net服务器端程序。.Flex的工程相关配置是否正确,详见本系列文章第一篇“flex3+.net开发flashRemotin

1 / 21
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功