FluorineFX框架下的.NET和FLEX当中数据转换(自定义类型)
来源:互联网 发布:淘宝怎么申请卖保健品 编辑:程序博客网 时间:2024/06/05 17:06
一些基础的数据,比如int,string都是直接可以转换过去的,不需要其他的步骤,只需要配置好了,就可以转换。
这篇博文,学习如何转化自定义类型,也就是所谓的类。
使用这个有两种方法
我首先把.NET当中的代码贴出来
using System;using System.Collections.Generic;using System.Linq;using System.Web;using FluorineFx;/// <summary>///studentLab 的摘要说明/// </summary>namespace School.Po{ [RemotingService] public class StudentLab { public string studentId { get; set; } public int floorIndex { get; set; } public int floorFid { get; set; } public StudentLab() { } public StudentLab getStudentLab() { StudentLab sl = new StudentLab(); sl.studentId = "12345"; sl.floorIndex = 3; sl.floorFid = 45; return sl; } }}
第一种:在FLEX中
只需要添加[RemoteClass(alias="School.Po.StudentLab")],在类前面。
package vo{[RemoteClass(alias="School.Po.StudentLab")]public class StundetVo{public function StundetVo(){}public var studentId:String;public var floorIndex:int;public var floorFid:int;}}
需要注意的是两点,第一点就是刚才说的,添加相应的远程类。第二个就是各个属性之间,名字必须保持一致,包括大小写,否则不知道怎么对应。
我们这个时候,测试一下代码正确性。下面是FLEX一个测试代码。
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"><s:layout><s:BasicLayout/></s:layout><fx:Script><![CDATA[import mx.rpc.events.ResultEvent;import vo.StundetVo;protected function button1_clickHandler(event:MouseEvent):void{ro.getStudentLab();}protected function ro_resultHandler(event:ResultEvent):void{var s:StundetVo=event.result as StundetVo;trace(s.studentId);trace(s.floorFid);trace(s.floorIndex);}]]></fx:Script><fx:Declarations><s:RemoteObject id="ro" destination="fluorine" source="School.Po.StudentLab" result="ro_resultHandler(event)"/></fx:Declarations><s:Button x="41" y="24" label="开始" click="button1_clickHandler(event)"/></s:Application>我debug一下,下面是贴图
我们很容易可以看到,result自动转化为我们设计的类。s,下面的数据,也保存着相关属性信息。如果我们删除,远程类,这句话,就会出现以下错误。
TypeError: Error #1009: 无法访问空对象引用的属性或方法。
at test/ro_resultHandler()[D:\flrxwp\fx\src\test.mxml:22]
at test/__ro_result()[D:\flrxwp\fx\src\test.mxml:31]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.rpc::AbstractService/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractService.as:333]
at mx.rpc.remoting.mxml::RemoteObject/dispatchEvent()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\remoting\mxml\RemoteObject.as:148]
at mx.rpc::AbstractOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractOperation.as:254]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:318]
at mx.rpc::Responder/result()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:56]
at mx.rpc::AsyncRequest/acknowledge()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:84]
at NetConnectionMessageResponder/resultHandler()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\messaging\channels\NetConnectionChannel.as:547]
at mx.messaging::MessageResponder/result()[E:\dev\4.0.0\frameworks\projects\rpc\src\mx\messaging\MessageResponder.as:235]
这是第一种方法,不过一些情况下,也会出错。
我们来看第二种方法
2:在.NET当中,修改web.config
不过这个我没有实验成果,还希望有人帮忙指正一下,所有的代码和上面的一样,就除了,没有[RemoteClass(alias="School.Po.StudentLab")]。
在<fluorinefx>
<settings>
下面添加以下配置
<classMappings>
<classMapping>
<type>School.Po.StudentLab</type>
<customClass>vo.StundetVo</customClass>
</classMapping>
</classMappings>
我没有成果!不知道还有什么其他地方,需要修改不
- FluorineFX框架下的.NET和FLEX当中数据转换(自定义类型)
- flex+EF(Asp.Net Entity Framework)+FluorineFx 组合的自定义实体类型转换(原创)
- FLEX的.NET开源库FluorineFX
- FLEX的.NET开源库FluorineFX
- Flex 和.NET协同开发利器FluorineFx
- Flex和.NET协同开发利器FluorineFx
- Flex+FluorineFx与.net基础(一)
- Flex+FluorineFx与.net基础(四)
- Flex+FluorineFx+.NET资料
- Flex与.NET互操作(十):FluorineFx.Net的及时通信应用(ApplicationAdapter)(一)
- Flex与.NET互操作(十):FluorineFx.Net的及时通信应用(ApplicationAdapter)(一)
- Flex与.NET互操作(十):FluorineFx.Net的及时通信应用(ApplicationAdapter)(一)
- Flex和.NET协同开发利器FluorineFx--部署
- flex 和 .net通过fluorineFX remoteobject通信详解:
- 利用Fluorinefx实现Flex与.net的通讯
- Struts2框架下自定义转换类型使用
- FluorineFx + Flex视频聊天室案例开发----客户端 (下)
- Flex与.NET互操作(六):Flex和.NET协同开发利器FluorineFx
- 读研的那些事儿(六)
- ubuntu下win7启动项修复
- Asp.net中SqlDataAdapter和SqlCommand对比分析
- 修改IE查看源文件的打开方式
- 参加了一个博客大赛......
- FluorineFX框架下的.NET和FLEX当中数据转换(自定义类型)
- 最全的全球搜索引擎的介绍
- 大话C++----默认参数及其所引起的二义性
- WAS7(WebSphere 7)忘记密码的解决办法
- 工厂模式
- 无线技巧:学会设置无线上网猫以及网卡
- 100. Complacency is the enemy of study. 学习的敌人是自己的满足
- IA32CPU内存管理机制
- CMD命令行下修改网络IP设置的方法