使用Fluorine实现Flex与.NET通信
作者:Flying 日期:2007-03-18
这是一篇讲解如何使用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应用。详细步骤如下:
- 打开Flex Builder,选择File>New>Flex Project>Flex Data Services。如下图,默认情况下,选项一将在Flash Bulider的本地工作空间创建工程,选项二将在服务器上下文根(路径)下创建工程。我们选择第一种方案,将flex工程保存在客户端,而.NET工程则保存在服务器端。

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

- 单击Next,设置工程名称(如remoting),工程路径默认不变。
- 修改工程主文件名称(如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。
评论: 6 | 引用: 0 | 查看次数: -
我在Flex 3中 没Flex Data Services选
如果我要用.net 怎么样? 请教
Flying 于 回复
如果我要用.net 怎么样? 请教

http://www.riafan.com/article.asp?id=105
老大,可以将这个demo让大家下载下来研究一下。行否?
我们按你说的要报错。应该是我们什么地方没有整对。
Flying 于 回复
我们按你说的要报错。应该是我们什么地方没有整对。
可能是配置不对。有几个地方要注意:gateWay、服务名、方法名,还有就是swf的输出文件夹应该在gateWay所在Web应用的根目录下
老大,在我机子上不能得到结果,提示发送信息错误,是怎么回事呀
do you have any Class Mapping sample?
发表评论
上一篇
下一篇

文章来自:
Tags:
相关日志:
回复
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'"