使用Fluorine实现Flex与.NET通信

这是一篇讲解如何使用Fluorine实现Flex与.NET的通信的入门级实例教程。通过本例的学习,我们将了解使用Fluorine Flash Remoting开发Flex RIAs的基本流程。

如果你对Flash Remoting与Flex之间的数据交换没有什么idea,请先看一看这篇文章:实现Flex与ColdFusion Flash Remoting的通信

Fluorine 也支持AFM3,这就意味着我们可以利用RemoteObject来实现Flex与.NET的通信。但与ColdFusion不同的是,ColdFusion的flex2 网关已经设置好了(如果使用内置安装方式的话),而Fluorine 还要配置,至于怎样配置,请参考配置支持Fluorine Remoting的Web应用

一、客户端

接下来我们同样用Flex Builder来用创建本实例所用的简单Flex应用。详细步骤如下:

  1. 打开Flex Builder,选择File>New>Flex Project>Flex Data Services。如下图,默认情况下,选项一将在Flash Bulider的本地工作空间创建工程,选项二将在服务器上下文根(路径)下创建工程。我们选择第一种方案,将flex工程保存在客户端,而.NET工程则保存在服务器端。

Flex Data Services

  1. 单击Next,因为我们没有安装Flex Data Services,请取消Use dafault local Flex Data Services location选项。浏览选择Web应用的根目录,输入根URL路径,在上下文根(路径)中填写Web应用的虚拟路径。如下图。

设置Web应用

  1. 单击Next,设置工程名称(如remoting),工程路径默认不变。
  2. 修改工程主文件名称(如HelloWorld),设置输出文件的路径(如下图)。单击Finish完成工程的创建。

设置路径

最后这两步和在Flex Builder中设置ColdFusion Flash Remoting 是一样的,请参考使用Flash Remoting实现Flash与ColdFusion通信

编写客户端代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
	<mx:RemoteObject id="service" destination="fluorine"
		source="tutorials.remoting.HelloWorld" showBusyCursor="true" />
	<mx:TextInput id="txtName"/>
	<mx:Button label="Say Hello" click="service.sayHello(txtName.text)"/>
	<mx:Label text="{service.sayHello.lastResult}" fontSize="18"/>
</mx:Application>

各ColdFusion版的实例相比,只是destination属性由ColdFusion变成了fluorine,简单吧?

二、服务器端:

服务器端还是利用使用Fluorine Flash Remoting开发Web应用的HelloWorld.cs。

运行该程序。点击此处测试效果。点击此处下载工程文件。

来源文章来自: 本站原创
引用通告引用通告: 查看所有引用 | 我要引用此文章
标签Tags: RemoteObject FluorineFX FlexBuilder
相关日志相关日志:
评论: 6 | 引用: 0 | 查看次数: -
回复 回复引用feitianzi[2008-08-16 02:36 PM | del ]
为什么一直报错?各位看看是什么原因

RPC Fault faultString="MessagingError message='Destination 'fluorine' either does not exist or the destination has no channels defined (and the application does not define any default channels.)'" faultCode="InvokeFailed" faultDetail="Couldn't establish a connection to 'fluorine'"
回复来自 Flying 的评论 Flying 于 2008-08-16 10:51 PM 回复
http://www.riafan.com/article.asp?id=102第七条,有空看一下http://www.riafan.com/article.asp?id=47
回复 回复引用oyxiao[2007-11-07 01:37 PM | del ]
我在Flex 3中 没Flex Data Services选
如果我要用.net 怎么样? 请教
回复来自 Flying 的评论 Flying 于 2007-11-07 10:51 PM 回复
http://www.riafan.com/article.asp?id=105
回复 回复引用老鱼[2007-10-25 12:59 AM | del ]
老大,可以将这个demo让大家下载下来研究一下。行否?
我们按你说的要报错。应该是我们什么地方没有整对。
回复来自 Flying 的评论 Flying 于 2007-10-25 10:55 PM 回复
可能是配置不对。有几个地方要注意:gateWay、服务名、方法名,还有就是swf的输出文件夹应该在gateWay所在Web应用的根目录下
回复 回复引用jdchf[2007-10-23 05:16 PM | del ]
老大,在我机子上不能得到结果,提示发送信息错误,是怎么回事呀
回复 回复引用david[2007-07-11 04:45 PM | del ]
do you have any Class Mapping sample?
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.