Flex调用C# WebService

大家在实际开发过程中,经常会需要C#与Flex协同合作,尤其对数据库的访问处理时,经常会通过C#写好访问数据库的WebService,然后Flex调用WebService。

下面是一个简单的Flex调用WebService的示例。

C#如何编写WebService请看:http://blog.csdn.net/h0322/article/details/4776819

上述WebService示例中没有对所写的WebService进行发布,如果想用Flex访问的话,需要先将所写的WebService发布。具体发布方法如下:

发布前首先确保在网站项目里写的asmx方法调试通过没有问题并都在方法前加了[WebMethod],确定后就可以发布了,发布方式跟发布一个普通网站一样。

    1、解决方案管理器里右键点击项目名>>>>>发布,具体操作如下图;

在弹出的窗体中,设置发布方法为:文件系统。然后设置目标位置,点击:发布即可。

    2、然后打开将结果部署到IIS中,如下图:

任意定义一个网站名称,物理路径就选择刚才发布时选择的路径,然后记得改一下端口号,最好是介于1025----65535之间,然后点击确定就可以了。

部署完成之后在内容视图找到asmx文件右键 浏览,如下图所示。浏览器中的地址就是此服务的访问地址。

到现在为止,服务就定义并发布完成了。下面就是要用Flex调用WebService。

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

 

 

<mx:WebService id="MyService"

wsdl=http://localhost:1999/Service1.asmxuseProxy="false">

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

</mx:WebService>

wsdl属性是指定到要访问的WebService的wsdl地址,操作标签(<mx:operation>),对应于WebService中定义的WebMethod方法。result属性标记访问WebService方法成功后的处理函数;fault则相反,指定于访问失败的处理函数。

以上就是通过<mx:WebService>标签来访问WebService的基本流程,下面是怎么在Flex的客户端调用WebService所定义的方法:

<mx:Script>

<![CDATA[

import mx.controls.Alert;

import mx.rpc.events.FaultEvent;

import mx.rpc.events.ResultEvent;

 

internal function onRequest():void

{

MyService.HelloWorld();

}

 

internal function onSuccess(evt:ResultEvent):void

{

Alert.show(evt.result.toString());

}

 

 

internal function onFault(evt:FaultEvent):void

{

Alert.show("访问WebService失败!");

}

]]>

</mx:Script>

通过上面的调用,就完成了一个简单的Flex和.NET WebService的交互。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值