Flex和NET协同开发利器FluorineFx.docx
- 文档编号:10030684
- 上传时间:2023-02-08
- 格式:DOCX
- 页数:11
- 大小:295.33KB
Flex和NET协同开发利器FluorineFx.docx
《Flex和NET协同开发利器FluorineFx.docx》由会员分享,可在线阅读,更多相关《Flex和NET协同开发利器FluorineFx.docx(11页珍藏版)》请在冰豆网上搜索。
Flex和NET协同开发利器FluorineFx
Flex与.NET互操作(六):
Flex和.NET协同开发利器FluorineFx
在本系列前面几篇文章中分别介绍了通过WebService、HTTPService、URLLoader以及FielReference等组件或类来完成Flex与.NET服务端的通信的相关知识点。
通过这些方式来完成与服务端的通信是非常方便和简单的,但有他的缺点就是通信数据量较小,如要传输大量的数据或是实现不同对象的序列化传输,它们则满足不了我们的需求,需要寻找另外一种通信协议,另一种高效的传输协议来代替SOAP协议传输的方案,那便是AMF(ActionScriptMessageFormat)协议。
开源项目FluorineFx就是专门针对.NET平台与Flex通信提供的AMF协议通信网关,我们可以通过FluorineFx很方便的完成与.NET的通信。
FluorineFx官方提供了安装包的下载和在线文档,可以帮助我们有效的利用FluorineFx来开发。
FluroineFx官方网站:
FluroineFx下载地址:
FluroineFx在线文档:
OK,下面我们来看看使用FluroineFx通信的.NET和Flex配置。
开发环境选择如下:
.NET:
MicrosoftVisualStudio2008+.NETFramework3.5
Flex:
AdobeFlexBuilderCS3+FlexSDK3.2
FluroineFx:
FluorineFxv1.0.0.15(点击可下载)
一、.NET服务端的开发
通过MicrosoftVisualStudio2008创建创建解决方案,并添加FluroineFx服务器库,如下图示:
FluorineFx服务库添加成功后会发现,项目模板会自动为我们创建一个Sample类和一个Echo方法,如下:
1 namespace FlexDotNet.ServiceLibrary
2 {
3 ///
4 /// Fluorine sample service.
5 ///
6 [RemotingService("Fluorine sample service")]
7 public class Sample
8 {
9 public Sample()
10 {
11 }
12
13 public string Echo(string text)
14 {
15 return "Gateway echo:
" + text;
16 }
17 }
18 }
接着添加FluorineFx网站到解决方案,添加成功后网站会自动引用FluorineFx服务库的dll。
如下图:
到这里我们可以简单的测试FluorineFx的.NET服务端是否成功创建。
通过在浏览器中查看FluroineFx网站中的Console.aspx或是将网站设置为启动项目并设置Console.aspx为启始页运行网站都可以,程序便会运行到FluorineFx的控制台,展开左边项目的Services节点便会看到上面模板为我们创建的类和方法,点击方法节点在右边就可以进行简单的测试了,如下图示:
OK,到这里.NET的服务器端就开发完成了,这里我们需要记住几点,在接下来的Flex开发中需要根据这些参数来进行配置。
FluorineFx的.NET网站目录:
F:
\Demo\FlexDotNet\Web
FluorineFx的.NET网站虚拟目录:
/Web
FluorineFx的.NET网站URL:
http:
//localhost:
2836/Web
接受Flex客户端请求的URL:
http:
//localhost:
2836/Web/Gateway.aspx
有了上面这些东西配置Flex就简单了,首先创建Flex项目,并将项目路径指向前建立的FluorineFx网站的根路径:
如上图,将Applicationtype设置为:
Webapplication,ApplicationServertype设置为:
ASP.NET,然后“Next”。
进入下一个创建项目向导界面,将Server设置为:
"UseInternetInformationServices(IIS)",WebApplicationroot同样指向FluorineFx网站的根路径,WebAppliationURL则设置为上面我们获取到的路径便OK,详细见下图:
按照上面步骤配置好后通过点击“ValidateConfiguration”进行配置验证,如过验证结果是:
ThewebapplicationrootandtheURLarevalid.则代表配置正确,可以直接点下一步只到完成项目的创建。
Flex项目创建完毕,下面在通过一些相应的配置就可以通过FluorineFx和.NET通信了。
开发项目属性设置面板,设置其FlexCompiler为下图所示(-services的配置也可以设置为相对路径):
设置FlexServer为如下配置,可以点“ValidateLocation”验证设置的正确性:
最后设置输出路径就完成了Flex端的配置了:
到这里Flex端的配置就全部完成,下面我们通过FluorineFx库模板为我们生成的Sample为例来测试下该环境是否可以通过,在Flex的mxml文件下通过 RemoteObject>标签来访问远程对象,详细如下: 1 RemoteObject id="service" destination="fluorine" 2 source="FlexDotNet.ServiceLibrary.Sample"> 3 method name="Echo" result="onResult(event)"> 4 method> 5 RemoteObject> 这里需要注意的是destination需要设置为与remoting-config.xml中的destination的id一致,source则配置为远程对象的全路径(名称空间+类),通过 method>标签配置远程对象下的方法并设置其成功调用后的结果处理函数,下面便可通过id去调用远程方法了。 1 Script> 2 [CDATA[ 3 import mx.rpc.events.ResultEvent; 4 internal function onClick(): void 5 { 6 service.Echo(txtInput.text); 7 } 8 9 internal function onResult(evt: ResultEvent): void 10 { 11 txtResult.text = evt.result.toString(); 12 } 13 ]]> 14 Script> 下面是完整的Flex客户端mxml的代码定义: 完整的示例代码 1 xml version="1.0" encoding="utf-8"? > 2 Application xmlns: mx=" layout="absolute"> 3 RemoteObject id="service" destination="fluorine" 4 source="FlexDotNet.ServiceLibrary.Sample"> 5 method name="Echo" result="onResult(event)"> 6 method> 7 RemoteObject> 8 9 Script> 10 [CDATA[ 11 import mx.rpc.events.ResultEvent; 12 internal function onClick(): void 13 { 14 service.Echo(txtInput.text); 15 } 16 17 internal function onResult(evt: ResultEvent): void 18 { 19 txtResult.text = evt.result.toString(); 20 } 21 ]]> 22 Script> 23 24 Panel x="53" y="52" width="250" height="200" layout="absolute" title="测试FluorineFx" fontSize="12"> 25 TextInput x="35" y="21" id="txtInput"/> 26 Button x="35" y="63" label="确 定" fontWeight="normal" click="onClick()"/> 27 Label x="35" y="95" text="结 果: "/> 28 TextInput x="35" y="123" width="160" id="txtResult"/> 29 Panel> 30 Application> 31 本文示例截图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Flex NET 协同 开发 利器 FluorineFx