论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash AS编程教程
Tag:2.0,3.0菜鸟,游戏,,cs,技巧,源码,,文本,文字,函数,音乐,随机,拖拽,asp,access,xml,mc,视频教程

一个最基本的WebService+Flash调用的实例

文章类别:Flash AS编程 | 发表日期:2008-10-6 17:35:52


[前几天的一则笔记,随手写的,没有注释。
自己的体会:对于Flash+asp.net的开发,用ws比直接使用flash+xml+asp.net要更快捷一些,而且层次分明,可以让UI设计和后台完全隔离。
对于大数据集的处理,倾向于在服务端撰写相关类,序列化之后输出,这样在客户端处理更快捷,而且适应性更强。
最后一个感受:直接使用WebServiceAPI比使用WebServiceConnector组件更加灵活,直接。

]

C#源文件:testws.asmx(http://localhost/dxl_green_web/testws.asmx) 


<%@ WebService Language="c#" Class="dxl_green_web.test" %> 

using System; 
using System.Data; 
using System.IO; 
using System.Web; 
using System.Web.Services; 

namespace dxl_green_web 

[Serializable] 
public class Person 

public Person() 



public Person(string name,string gender) 

this.Name=name; 
this.Gender=gender; 


public string Name=""; 
public string Gender=""; 


[WebService(Namespace="http://www.dxlschool.com/ws/")] 
public class test : System.Web.Services.WebService 

public test() 




[WebMethod] 
public string HelloWorld() 

return "你好"; 

[WebMethod] 
public string NowD(){ 
return DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"); 


[WebMethod]  
public float[] ALtest(int a){ 
float[] tint=new float[a]; 
int i=0; 
while (i<a) 

tint[i]=(float)i; 
++i; 

return tint; 


[WebMethod] 
public string GetPersonTable() 

DataTable table=new DataTable("Person");  
table.Columns.Add("Name"); 
table.Columns.Add("Gender"); 
table.Rows.Add(new string[2]{"Alice","Female"}); 
table.Rows.Add(new string[2]{"Bob","Male"}); 
table.Rows.Add(new string[2]{"Chris","Female"}); 
table.Rows.Add(new string[2]{"Dennis","Male"}); 
table.Rows.Add(new string[2]{"Eric","Male"}); 

DataSet dataset=new DataSet("PersonTable"); 
dataset.Tables.Add(table); 

System.Text.StringBuilder strbuilder=new System.Text.StringBuilder(); 
StringWriter writer=new StringWriter(strbuilder); 
dataset.WriteXml(writer,System.Data.XmlWriteMode.IgnoreSchema); 

return strbuilder.ToString(); 


[WebMethod] 
public Person[] GetPersons() 

Person Alice=new Person("Alice","Female"); 
Person Bob=new Person("Bob","Male"); 
Person Chris=new Person("Chris","Female"); 
Person Dennis=new Person("Dennis","Male"); 

return new Person[]{Alice,Bob,Chris,Dennis}; 





}
 

AS2源文件 
import mx.services.*; 

import mx.services.*; 
myWebSrvc = new WebService("http://localhost/dxl_green_web/testws.asmx?wsdl"); 
hl = myWebSrvc.HelloWorld(); 
hl.onResult = function(result) { 
trace(result); 
}; 
h2 = myWebSrvc.ALtest(100); 
h2.onResult = function(result) { 
for (i=0; i<result.length; ++i) { 
trace(result[i]); 

}; 
h3=myWebSrvc.GetPersons(); 
h3.onResult=function(result){ 
trace(result.length); 
for (i=0; i<result.length; ++i) { 
trace(result[i]["Name"]); 
trace(result[i].Gender); 
}  
}
 


Note:
1、 在多种语言共存的编程环境下,是不适合使用类似DataSet这种只属于特定语言的数据类型的。应该尽量使用简单数据类型以及简单数据类型的数组。
2、 应当很谨慎的决定是否需要通过Web Service来返回大量数据。由于网络传输的开销既包括HTTP连接建立的时间,也包括传送数据的时间,因此需要在减少访问服务器次数和减少网络传输量之间寻找一个合适的平衡。如非必须,则不适合通过Web Service传送含有几十条或者几百条数据的数据表。
3、 使用序列化可以让数据在客户端更容易处理。
视频教程列表
文章教程搜索
 
Flash AS推荐教程
Flash AS热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058