`
evget
  • 浏览: 144569 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

Flex与.NET基于WebService的数据访问

阅读更多
文章关键字:|Flex|.NET|WebService|数据|访问|C#|数据源|交互|

  Flex提供了<mx:WebService>、<mx:HTTPService>和<mx:RemoteObject>标签来直接访问远程数据,这用于与各种不同语言环境开发提供的远程服务端数据源(如WebService)进行数据交互通信显得更加容易。

  本文以.NET平台下C#语言开发的WebService作为远程数据源,详细介绍Flex与.NET的WebService的数据通信知识点;包括连接WebService,远程调用WebService方法,给WebService方法传递参数等相关知识点。三个标签的使用方法基本上是一样,这里就以<mx:WebService>标签为例进行介绍。

首先看看如下代码块:

1     <mx:WebService id="dataService"
2         wsdl="http://localhost/FlashFlex/DataWebService.asmx?wsdl"
3         useProxy="false">
4         <mx:operation name="HelloWorld" result="onSuccess(event)" fault="onFault(event)"/>
5         <mx:operation name="GetBook" fault="onFault(event)" result="onObjectSuccess(event)"/>
6     </mx:WebService>

  wsdl属性指定到要访问的WebService的wsdl地址既可,其中定义了两个操作标签(<mx:operation>),分别对应于WebService中定义的WebMethod方法。result属性标记访问WebService方法成功后的处理函数;fault则相反,指定于访问失败的处理函数。以上两个<mx:operation>对应于WebService的WebMethod方法如下:

1     /// <summary>
2     /// 返回字符串
3     /// </summary>
4     /// <returns></returns>
5     [WebMethod]
6     public string HelloWorld()
7     {
8         return "Hello World";
9     }
10
11     /// <summary>
12     /// 返回一个简单对象
13     /// </summary>
14     /// <returns></returns>
15     [WebMethod]
16     public Book GetBook()
17     {
18         return new Book
19         {
20             Id = 1,
21             Name = "三国演义",
22             Author = "罗贯中",
23             Price = 100
24         };
25     }

  如上便是WebService方法定义和在Flex的客户端(mxml)通过<mx:WebService>标签来访问WebService的完整流程,下面我们来看看在Flex的客户端怎么去调用WebService所定义的方法:

1 <mx:Script>
2     <![CDATA[
3         import mx.controls.Alert;
4         import mx.rpc.events.FaultEvent;
5         import mx.rpc.events.ResultEvent;
6        
7         /**
8          * 向WebService发起请求--调用HelloWorld方法,dataService为<mx:WebService>的id
9          * */
10         internal function onRequest():void
11         {
12             dataService.HelloWorld();
13         }
14        
15         /**
16          * 请求成功处理返回结果
17          * */
18         internal function onSuccess(evt:ResultEvent):void
19         {
20             Alert.show(evt.result.toString());
21         }
22        
23        
24         /**
25          * 请求失败的处理函数
26          * */
27         internal function onFault(evt:FaultEvent):void
28         {
29             Alert.show("访问WebService失败!");
30         }
31     ]]>
32 </mx:Script>

  通过上面的调用,就可以完成一个Flex和.NET WebService的交互。当然我们在Flash/Flex的客户端调用WebService也是可以传递参数的,如下WebService的WebMethod定义:

1     /// <summary>
2     /// 将传递进来的参数转化为大写字符返回
3     /// </summary>
4     /// <param name="value"></param>
5     /// <returns></returns>
6     [WebMethod]
7     public string ConvertToUpper(string value)
8     {
9         return value.ToUpper();
10     }

  通过在<mx:WebService>标签下配置<mx:operation>执行该方法就可以访问了,如下:

1 <mx:operation name="ConvertToUpper"  result="onSuccess(event)" fault="onFault(event)"/>

1     /**
2      * 向WebService发起请求
3      * */
4     internal function onRequest():void
5     {
6         //dataService.HelloWorld();
7         dataService.ConvertToUpper("abcdefg");
8     }

  另外,我们还可以通过<mx:request>来传递参数,这里只需要知道<mx:request></mx:request>里的参数配置与WebService提供的WebMethod方法参数同名就OK。

  回到前面看看WebService的方法定义,其中一个方法GetBook是返回的一个Book对象,如果是返回的对象我们在Flex的客户端怎么来获取这个对象的值呢?详细见如下代码示例:

1     internal function onObject():void
2     {
3         dataService.GetBook();
4     }
5    
6     internal function onObjectSuccess(evt:ResultEvent):void
7     {
8         //直接通过事件的result属性得到返回值,然后直接访问属性便OK
9         Alert.show(evt.result.Name);
10     }
11    
12     /**
13      * 请求失败的处理函数
14      * */
15     internal function onFault(evt:FaultEvent):void
16     {
17         Alert.show("访问WebService失败!");
18     }

如上便完成了服务端的WebService返回对象到客户端的调用。



原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9304
分享到:
评论

相关推荐

    Flex与.NET互操作基于WebService的数据访问

    在Flex中,我们通常使用以下三种标签来实现远程数据访问: 1. `&lt;mx:WebService&gt;`:专门用来调用基于SOAP协议的WebService,提供了一种直接调用WebService方法的方式。 2. `&lt;mx:HTTPService&gt;`:用于发送HTTP GET或...

    Flex与.NET互操作

    - **远程访问**: 使用FluorineFx网关可以实现.NET与Flex之间的远程调用,从而实现数据和服务的无缝共享。 - **认证与授权**: FluorineFx还支持认证和授权机制,这有助于提高应用程序的安全性。 - **及时通信**: ...

    基于WebService的数据访问(下) Flex与.NET互操作(三)

    在上一篇文章《Flex与.NET互操作(二):基于WebService的数据访问(上) 》中介绍了通过标签来访问Webservice。实际上我们也可以通过编程的方式动态的访问WebService,Flex SDK为我们提供了WebService类。

    Flex基于WebService的数据访问

    本篇文章将深入探讨Flex如何基于WebService进行数据访问。 一、Flex与WebService基础 WebService是一种基于开放标准(如SOAP、WSDL和UDDI)的Web应用程序接口,允许不同系统之间的数据交换。SOAP是传输协议,WSDL是...

    Flex与.Net互操作

    Flex与.NET互操作是开发跨平台富互联网应用(RIA)时的一个重要技术组合,它允许基于Adobe Flex的前端用户界面与Microsoft.NET后端服务进行高效的数据交换和功能调用。Flex以其强大的图形用户界面和丰富的媒体支持,...

    flex ,webservice(.net) 交互

    通过这个ExampleWebservie示例,初学者可以深入理解Flex与.NET Webservice的交互过程,学习如何在Flex中创建服务代理,调用服务方法,以及处理返回的数据。这是一个很好的实践项目,有助于提升跨平台开发技能。

    WebService数据交互事例

    【WebService数据交互事例】是关于使用Flex与.NET平台间通过WebService进行数据交换的一个实践教程。Flex是一款强大的富互联网应用程序(RIA)开发工具,而WebService是一种基于SOAP协议的跨平台、跨语言的数据交换...

    Communicating between Flex and .NET

    在IT行业中,跨平台通信是常见...总之,Flex与.NET的通信涉及多个层面的技术,包括客户端和服务器端的开发环境、通信协议、数据交换格式和错误处理。理解并掌握这些知识点,有助于开发者构建高效、稳定且跨平台的系统。

    基于WebService的数据访问(上) Flex与.NET互操作(二)

    《基于WebService的数据访问(上) Flex与.NET互操作(二)》 在现代软件开发中,数据交换和互操作性是关键因素。本篇文章聚焦于使用Adobe Flex与Microsoft .NET平台之间的数据通信,特别是通过WebService实现。Flex...

    Flex asp.net 流量统计

    1. 数据交互:Flex客户端通过HTTPService或者WebService与ASP.NET服务器进行数据交换。HTTPService允许Flex应用发送HTTP请求并处理响应,而WebService则使得Flex可以直接调用ASP.NET Web服务方法。 2. 数据收集:在...

    Flex数据访问:WebService

    Flex数据访问:WebService 在开发Flex应用程序时,与外部服务进行数据交互是非常常见的需求,而WebService组件则提供了访问SOAP Web服务的功能。SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在...

    FLEX4+.net项目

    这涉及到数据库设计、SQL查询和ADO.NET数据访问技术的运用,开发者可以学习如何通过.NET连接和操作数据库。 总的来说,这个项目涵盖了FLEX4前端开发、.NET(C#)后端服务构建、以及二者之间的通信和数据管理等多个...

    flex访问netwebservice增删改查

    “数据访问”是指通过Web服务进行数据交互;“webservice”是实现前后端通信的关键技术。 在提供的文件名称列表中,“WebApplication1”可能是一个ASP.NET项目,包含Web服务的实现,而“FlexNet”可能是一个Flex...

    flex和asp.net的一个简单的通信例子

    Flex和ASP.NET之间的通信是通过Web服务(WebService)实现的,这种技术允许不同平台和语言的应用程序之间交换数据。在本示例中,我们将探讨如何使用Flex作为客户端,与使用ASP.NET构建的Web服务进行交互,以实现一个...

    Fluorine网关与ASP.NET类交互 项目代码实现

    在项目中,ASP.NET类通常是公开的业务逻辑层(BLL)或数据访问层(DAL),它们处理Flex客户端发送的请求,执行相应的操作,如数据库查询、业务逻辑计算等,然后将结果返回给客户端。这些类需要使用FluorineFX提供的...

    flex+net实战

    在服务器端,可以使用ASP.NET或WCF(Windows Communication Foundation)来处理业务逻辑和数据访问,然后通过AMF将结果返回给Flex客户端。这种结合方式使得前后端通信高效、快速。 4. Flex端源码解析: Flex端源码...

    asp.net oracle,flex技术集合电子书chm

    在ASP.NET中,与Oracle数据库交互通常通过ADO.NET(一种.NET Framework的数据访问技术)来实现。开发者可以使用Oracle Data Provider for .NET (ODP.NET)作为数据提供者,它为ASP.NET应用程序提供了直接访问Oracle...

    flex中应用webservice进行低数据量通讯

    在IT行业中,Flex是一种基于ActionScript的开源框架,主要用于构建富互联网应用程序(RIA)。它允许开发者创建具有丰富交互性和动态视觉效果的Web应用。而Web服务则是通过HTTP协议提供的一种标准化方式,使得不同...

Global site tag (gtag.js) - Google Analytics