使用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。

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

发表评论