Flex调用C# WebService
大家在实际开发过程中,经常会需要C#与Flex协同合作,尤其对数据库的访问处理时,经常会通过C#写好访问数据库的WebService,然后Flex调用WebService。 下面是一个简单的Flex调用WebService的示例。 C#如何编写WebService请看:http://www.voidcn.com/article/p-axoffrkx-bgx.html。 上述WebService示例中没有对所写的WebService进行发布,如果想用Flex访问的话,需要先将所写的WebService发布。具体发布方法如下: 发布前首先确保在网站项目里写的asmx方法调试通过没有问题并都在方法前加了[WebMethod],确定后就可以发布了,发布方式跟发布一个普通网站一样。 ? 在弹出的窗体中,设置发布方法为:文件系统。然后设置目标位置,点击:发布即可。 ? 任意定义一个网站名称,物理路径就选择刚才发布时选择的路径,然后记得改一下端口号,最好是介于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的交互。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |