Fluorine的官方帮助是以AMF0和AMF3两个版本来讲解Flex AS3(以 下简称AS3)与Fluorine .NET之间(以下简称.NET)的数据类型转换的,此处我们仅以AMF3版本来介绍。几种数据类型转换方式中最方便的应该是AS3自定义对象转换为.NET值对象。

一、AS3转换成.NET(以ToNetType.mxml和ToNetType.cs为例)

1.基本类型的数据

比如说我们用一个方法要向服务器端发送一个人的基本信息:比如姓名、年龄和婚姻状况,可以简单地把姓名、年龄和婚姻状况作为该方法的参数 传递。参数的个数及前后位置要和.Net对应,参数一多,很容易出错。而且很多时候还需要用.Net再次转换。此类数据转换基本上是一一对应,和HTTP Service和Web Service差不 多,体现不了Remoting Service技术的优势。请参看源文件中的sendArgs方法。

2.数组类型

同样是上述情形,如果改用数组为参数,方法会看起来简洁很多。不过仍然数组的元素的前后位置也必须与服务器端一致。AS3数组通 过Fluorine转换为.NET的IList接口数据类型,详情请参看sendArray方法。

3.关联数组类型

联数组其实就是Object对象,它可以让我们动态添加属性。参数变成了Object对象的属性,再将Object对象高级参数传递,再也不用担心AS3 与.Net文件中方法的参数个数及顺序必须一致了。AS3关联数组通过Fluorine转换为.NET的Hashtable,请参看AssoArray方法。

4.VO数据类型

再通过Fluorine,我们可以将ActionScript 自定义对象(如Person.as)转换为.NET的值对象(VO)(如Person.cs),从而实现AS3与.NET的Mapping(映 射)。如sendVO方法,这两个类的类名可以不一样,属性名和属性个数都可以不一样(为了好记,最好相同)。实现映射有以下两种方法:

(1) 在ActionScript 类中注册类的别名。使用RemoteClass(alias=".Net全限定类名");

(2) 在web.config 文件中添加classMappings节点。

<classMappings><classMapping><type>.Net全限定名</type><customClass>AS3全限定类名</customClass></classMapping>
</classMappings>

在某些情况下第一种方法失效,可以尝试第二种方法。很显然,用值对象向.NET传递数据是最方便的。

当然还有ByteArray数据类型也是很重要的,比如说常见的大头拍应用,传统的方法在服务器端进行二进制编码,很麻烦效率也很差。如果用 Fluorine对AS3和.NET都直接使用ByteArray数据类型,那就方便高效多了。

点击此处查看转换效果,点击此处

文章来源:http://www.riafan.com/article/flex/trackback.asp?tbID=84&action=addtb&tbKey=cbef1cdad1fc22b404e85c750cec9d65bddffd1c

转载于:https://www.cnblogs.com/bmate/archive/2010/03/01/1675484.html

Flex AS3数据类型转换成Fluorine数据类型相关推荐

  1. python转化成字符串_如何利用Python将其他数据类型转换成字符串类型

    Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...

  2. python中数据类型转换_Python(二).数据类型,数据类型转换

    数据类型 在python中,能够直接处理的的数据类型有以下几种:(这里似乎说法不一样,我这里仅表示自己的观点) (1).数字(Number) (2).字符串(String) (3).布尔值(Bool) ...

  3. matlab数表数据类型转换,[转载]Matlab 数据类型  五、表

    函数 句法 说明 T = table(var1,...,varN) T = table(var1,...,varN,Name,Value) T = table 根据工作区变量创建表,不带任何变量则创建 ...

  4. 将String类型转换成Map数据类型

    今天工作中遇到一个问题,有一些Map < String, Object >类型的数据我需要放到redis中,但是从redis中取出来的又是String类型 需要转Map.想了想 只记得 M ...

  5. pandas 字符串数据类型转换成数字型

    https://blog.csdn.net/jinruoyanxu/article/details/79150896?utm_medium=distribute.pc_relevant.none-ta ...

  6. ibtais中把clob数据类型转换成string并插入到数据库中

    1,在xml中定义一个parameterMap <parameterMap id="stringToClob" class="com.a.b.c"> ...

  7. c语言中怎么转换类型数据类型,C语言中数据类型转换

    C语言的类型转换,可以分为两种:自动类型转换(隐式类型转换,有编译器帮你去完成)和强制类型转换(你知道自己想要什么,所以才转换). 对于自动类型转换,最常见的就是混合运算以及赋值运算,还有一种就是函数 ...

  8. python默认数据类型转换_Python 数据类型转换

    1.指定变量类型和转换 有时您可能想在变量上指定类型. 这可以通过铸造来完成. Python是一种面向对象的语言,因此它使用类来定义数据类型,包括其原始类型. int() 将其他类型转换为整形: 1) ...

  9. python输出浮点数_Python的数据类型转换,那个很多人知道的知识,你知道吗?

    前言 阿皮又来和大家分享Python干货了,大家昨天的题会做吗? 这是答案: print(1.2+1.2) 输出:2.4 print('1.2'+'1.2') 输出:1.212 这两个不同的输出结果看 ...

最新文章

  1. Wireless-N Configuration
  2. 给大家介绍一位中科院师兄,读研时通过实习和比赛收入五十万
  3. 1874畅通工程续(dijkstra算法)
  4. 基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用。
  5. 合作模式歌利亚机器人_智能时代挑战下的机器人教育新方向!
  6. 中导入pygame_Pygame(二)--线条的艺术
  7. 利用android studio 生成 JNI需要的动态库so文件
  8. Class的getResource与ClassLoader的getResource路径/问题
  9. html字体变大自动换行,网页css中实现字符超出宽度自动换行和英语字符不断行的解决方法...
  10. pytorch4:简单的线性回归
  11. ajax上传变量,通过ajax传递post变量
  12. VSCode 设置 Tab 空格
  13. 计算机网络实验指导书 pdf,计算机网络实验指导书-20210608153043.pdf-原创力文档
  14. CentOS中获取文件的前四个字节的16进制值
  15. VS2010打开VS2013、VS2015建立的工程,各种版本之间转换
  16. 微软推送补丁的服务器叫什么,即将大规模推送: 微软介绍KB4023057易升补丁相关功能...
  17. MATLAB中能对三角函数降幂嘛,三角函数降幂公式是什么
  18. 现实世界的补丁长什么样? [ICSME 18] A Closer Look at Real-World Patches (结尾附论文阅读反思)
  19. 姓谢起名:温柔贤惠、好听到爆的谢姓女孩名字
  20. 微信运动步数:小程序+Java后端,源码可下载

热门文章

  1. Java基础知识强化99:Java 常见异常及趣味解释
  2. 好看的壁纸下载需要vip, 不一招教你批量免费下载
  3. 分享五款用来就不舍得删的app,个个功能强大,确定不来看看嘛
  4. 拆解问题的技术-摘录
  5. vue移动端轮播图适配宽高
  6. 数据库审计产品给用户带来哪些益处?
  7. Perl 语言的重要价值体现
  8. Failed to find target with hash string 'android-26' in
  9. iOS游戏反外挂方案解析
  10. mysql constraint primary key_一篇文章带你彻底了解MySQL各种约束