在Flash中调用WebService提供的调用数据库内容的方法

因为熟悉的WS的构造方式是基于Asp.net下的,下面所说的都是基于Asp.net的。

Flash作为UI层,有下列好处:
1、 不依赖于具体的平台
2、 轻量级,可以轻易的构造富客户端程序。
3、 可以给用户更好的体验。

但是,Flash在构建复杂的应用时,无法直接与数据库进行交互,必须依赖于其他的中间层进行,比如FlashRemtoing、PHP等等。各种方式都有优缺点。
在Flash与Asp.net进行交互时,最好的方式就是使用WebService。

第一个例子,假设数据库中有一张"UserInfo"表,其中有三个字段"id","username","password"
从WebService开始

先创建一个UserInfo的类
Flash ActionScript + WebService 学习第一天    public class UserInfo
    }
然后在WebService中写一个名为"GetUserList"的方法
Flash ActionScript + WebService 学习第一天        [WebMethod(Description="返回数据集")]
Flash ActionScript + WebService 学习第一天        
public UserInfo[] GetUserList()
        }

上面返回了"UserInfo"类型的数组,在webservice中查看XML的结果为
Flash ActionScript + WebService 学习第一天  <?xml version="1.0" encoding="utf-8" ?> 
Flash ActionScript + WebService 学习第一天 
<ArrayOfUserInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>1</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>kchen</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>gef8658</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>2</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>kchen30</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>gef8658</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>3</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>kchen40</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>gef8658</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>4</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>我啊</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>dkfd</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>5</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>哇哈哈</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>sfs</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>6</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>郁闷喔</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>dsfsd</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>7</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>sdfsd</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>sdfsfds</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>8</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>fds</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>sdf</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>9</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>dfsdf</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>fs</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天 
<UserInfo>
Flash ActionScript + WebService 学习第一天  
<id>10</id> 
Flash ActionScript + WebService 学习第一天  
<UserName>fs</UserName> 
Flash ActionScript + WebService 学习第一天  
<PassWord>s</PassWord> 
Flash ActionScript + WebService 学习第一天  
</UserInfo>
Flash ActionScript + WebService 学习第一天  
</ArrayOfUserInfo>

此时,在WebService中的代码已经完成,下来是在Flash中
新建一个flash文档,选择菜单中的“窗口”,“开发面板”-“WEB服务”,然后点“定义WEB服务”,在输入框中输入WebService的访问地址,如“http://localhost/first/flashservice.asmx?WSDL”,然后确定,展开刚刚添加的WEBSERIVCE,下面有一个名为"GetUserList()"的方法,右建点击,选择添加方法调用,然后在舞台上拖入一个DATAGRID组件,命名为UserListDB,再拖入一个button组件命名为GetList_btn,在第一桢里写上以下脚本
Flash ActionScript + WebService 学习第一天import mx.services.*
Flash ActionScript + WebService 学习第一天var myws:WebService
=new WebService("http://localhost/First/FlashService.asmx?wsdl"); 
 
然后CTRL+回车测试一下。。

相关文章: