【数据】用Flash Builder数据插件整合到.net

分类:Flash_Flex_AIR| 发布:camnprbubuol| 查看: | 发表时间:2010/11/6

一:问题:Flash Builder version 4 介绍新美妙的插件可以支持开发人员整合他们的flex/air项目使用Java,PHP的,的网络服务等。问题是没有插件为整合flex/air和.net。

二:解决方案:解决的办法是一个第三方插件可以在WebORB分布之间提供无缝集成Flex/AIR 和 .NET

三:详细说明

  开始下载并安装WebORB第4版。net。安装WebORB包括安装程序为闪光建设者插件。插件安装程序是位于/集成/ flashbuilder文件夹位于安装目录的根源。
  
  如果Flash Builder运行时,一定要把它关掉了运行插件之前安装程序。当安装程序完成安装的插件,开始Flash Builder。你应该能够确认安装的插件数据打开菜单。它应该有“连接到WebORB。net…”子菜单项,显示在图像如下:

  项目设置
  
  创建一个闪光建设者项目将server-type ASP . 网上介绍了Flex 4 和 .NET的集成(建立Flash Builder工程WebORB部分)文章。插件使用服务器地址从项目的配置。

应用数据服务插件

确保项目中选择的是用前Flex包装。如果项目被选中,Flash Builder将显示下列错误信息“不弯曲项目是积极的。请选择一个项目在弯曲包装探险家。”。要激活插件,点击数据在主菜单,选择“连接到WebORB。net……”。Flash Builder将显示下列对话框:

插件获得URL的服务器橱窗从所选择之项目。URL识别和服务器双方在一个虚拟目录WebORB安装。继续选择“没有暗号的要求"复选框,点击“确认”按钮。(在稍后的这篇文章,你会发现如何配置安全,使WebORB用户认证在插件。)

插件为下一步连接WebORB服务器和负荷提供的一张表等目的地。一个目的地是一个抽象概念描述一个。net类逻辑的名字。Flex的客户联系服务器端的类到连接的目的地。必须声明在目的地WEB-INF/flex/remoting-config.xml.

插件将显示一个列表的目的地,如图图像下面:

你可以创造额外的目的地WEB-INF/flex/remoting-config.xml,但要保证重启ASP . 净过程或应用程序池WebORB地方正在运行。

本文使用一个例子,一个。net类,它负载数据库的数据并返还给Flex。你可以看到的课程代号如下:

01 using System; 
02 using System.Collections; 
03 using System.Text; 
04 using System.Data; 
05 using System.Data.OleDb; 
06 using System.Web; 
07 using System.Collections.Generic; 
08   
09 namespace Weborb.Examples 
10 { 

11   public class DataBinding 
12   { 

13     private static string connectionString = "connectin string goes here"; 

14     public DataTable getCustomers() 
15     { 

16       DataTable dataTable = new DataTable(); 

17       OleDbConnection connection = new OleDbConnection( connectionString ); 

18       OleDbDataAdapter adapter = new OleDbDataAdapter(); 

19       adapter.SelectCommand = new OleDbCommand( "SELECT * FROM Customers order by CUSTOMERID", connection ); 

20   

21       try
22       { 

23           adapter.Fill( dataTable ); 

24       } 
25       finally
26       { 

27           connection.Close(); 

28       } 
29   

30       return dataTable; 

31     } 

32   

33     // This method is invoked when the user updates a record using the form 

34     public void updateCustomer( Hashtable updatedCustomerRecord ) 
35     { 

36       // removed for sample brevity 

37     } 
38   

39     // This method is invoked when the user updates a record directly in the datagrid 

40     public bool updateCustomerProperty( Hashtable originalCustomerRecord, String changedFieldName, String newValue ) 
41     { 

42       // removed for sample brevity 

43     } 

44   } 

45 }

 

定位和选择复选框为DataQueryService目的地。“服务细节的团体位于底部的窗口包含了两个领域为客户端包名。单击“完成”产生动作脚本代码为选定的目的地(注意:你可以选择多于一项的目的地是在一个时间)。当闪光建设者完成创造代码,它体现了面板数据/服务提供了服务,如下所示:

现在,这一服务被添加到项目,你将需要配置返回类型和参数的方法。选择的功能()方法对象,并选择适当点击选择配置返回类型在图像显示,如下:

在“配置”窗口,保持返回类型(默认选择回归Auto-detect样本数据类型)。点击下一步继续。Flash Builder调用的功能()方法。服务端返回类型System.Data.DataTable的方法包含一个列表的记录的数据。默认情况下WebORB serializes DataTable使用以一个数组的形式返回对象作为对象。当FlashBuilder接收应答,它不能侦测到该类型的对象的作用是:将数组中并显示窗口中显示的图像下面。输入“客户”的课程名称”,点击“完成”如下图所示。

Flash Builder创造客户数据类型收到性质的操作。你可以确定类型存在通过扩大这个数据类型节点的数据/服务座谈:

生成电话服务

现在双方的操作和数据类型被设置,可以非常容易的增加对代码上进行了电话服务加入这个项目。开一个MXML文件从这个项目。在数据服务小组右点击”在“功能():客户[]”的运作,选择“产生电话服务”。闪光建设者增加代码来选定的MXML应用。特别的,额外的代码由三个要素:

  1. Service declaration:
                    <services:DataQueryService id="dataQueryService"
    fault="Alert.show(event.fault.faultString + ’\n’ + event.fault.faultDetail)"
    showBusyCursor="true"/>

  2. Call Responder - used to hold results of the last service call:
                    <s:CallResponder id="getCustomersResult"/>

  3. Function performing service call:
                    protected function getCustomers():void

The next step is to add a data grid component to MXML and wire it to the service call. Add the following markup right before the closing <s:Applications> tag: 

<mx:DataGrid dataProvider="{getCustomersResult.lastResult}"  left="20" right="20" top="20"/>

保存和运行的应用。你应该看看名单从数据库中记录显示,在数据网格:

  当你运行这个Flex应用程序,你可能经历了下面的错误:
  
  “MessagingError信息的DataQueryService = ’目的地的既不存在或目的地没有通道的定义(并且该应用程序没有定义任何缺省)的]频道。
  
  无法建立一个连接到的DataQueryService’”。

 

如果这个项目发生错误不参考WEB-INF/flex/services-config.xml在额外的编译器性能。看the instructions on how to reference services-config.xml in the compiler properties.。

365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/archives/79.html