微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用vs.net创建webservice+flash简易计算器

=====================

转载请保留以下信息

原创:欧阳东杰

http://www.cnsXML.com

=====================

看过这个教程后,您会发现,webservice在.net上真的很简单!

我们要利用vs.net创建一个简单的webservice,他的功能是进行简单四则运算.

然后创建一个Flash来调用这个webservice

一、创建WEBSERVICE

1. 打开 Visual Studio .NET。

2. 创建一个新的 Active Server Pages (ASP) .NET Web 服务项目。 将该 Web 服务命名为 OydjService,并在必要时将其位置指定为一个

当的运行 ASP.NET 的 Web 服务器。

3. 将 Solution 文件名称改为 OydjService 以保持一致。

4. 将用 Service1.asmx 创建的认 Web 服务的名称更改为 OydjService.asmx。

5. 单击设计环境中的单击此处切换到代码视图以切换到代码视图。

6. 定义用来封装您的服务功能方法。 此服务提供的每一个方法前面都必须标有一个 WebMethod 属性。如果没有此属性,则服务将不公开此

方法

备注: 并不是每一个方法都需要有 WebMethod 属性。 隐藏由公用 Web 服务方法调用的某些实现细节是很有用的,在本地应用程序也使用

WebService 类的情况下,也需要隐藏某些实现细节。 本地应用程序可以使用任何公用类,但只有具有 WebMethod 属性方法可以作为 Web

服务远程访问。

将下面的代码添加到您在前面创建的 OydjServices 类:

程序代码

<WebMethod()> Public Function Add(a As Integer,b As Integer) As Integer 

Return(a + b) 

End Function 


<WebMethod()> Public Function Subtract(A As System.Single,B As System.Single) As System.Single 

Return A - B 

End Function 


<WebMethod()> Public Function Multiply(A As System.Single,B As System.Single) As System.Single 

Return A * B 

End Function 


<WebMethod()> Public Function Divide(A As System.Single,B As System.Single) As System.Single 

If B = 0 

Return -1 

End If 

Return Convert.ToSingle(A / B) 

End Function 


 

生成 Web 服务: 从生成菜单中,选择生成

可通过转至 OydjService.asmx Web 服务页来测试此 Web 服务。 如果您的页面放置在本地计算机上,那么 URL 将是

http://localhost/OydjService/OydjService.asmx。

运行时 ASP.NET 将返回一个 Web 服务帮助页来说明此 Web 服务。 此页还让您能够测试不同的 Web 服务方法

二、创建Flash来调用这个WEBSERVICE

1. 新建个Flash

2.拖入2个文本框(textarea),分别命名为:t1、t2

3.拖入个下拉菜单(comboBox),命名为:ysf,并填加"data"属性:"[1,2,3,4]"、"Labels"属性:"[+,-,*,÷]"

4.拖入个动态文本框,命名为:convert

5.拖入个按钮(button),命名为:search

6.拖入个webserviceConnector 组件

7.在第一帧处编辑"动作",把以下代码加入

程序代码

 

import mx.services.*; 


//设置wsdl地址 

var wsdlURI = "http://localhost/OydjService/OydjService.asmx?WSDL"; 

ws = new WebService(wsdlURI); 


//点了按钮后开始连接ws并计算 

search.onPress=function() { 

//进行计算 

switch (ysf.selectedItem.data) { 

case 1: 

callback = ws.Add(t1.text,t2.text); 

break; 


case 2: 

callback = ws.Subtract(t1.text,t2.text); 

break; 


case 3: 

callback = ws.Multiply(t1.text,t2.text); 

break; 


case 4: 

callback = ws.Divide(t2.text,t1.text); 

break; 


} 

//web服务成功传回信息 

callback.onResult = function(result) { 

convert.text=result; 

} 

//web服务错误传回信息 

callback.onFault = function(fault) { 

for(i in fault){ 

trace(i+ " : "+fault[i]); 

} 

} 

} 


三、演示

(因为我的webservice服务器不太稳定,有可能不能正确显示)

三、Flash原文件下载

http://cnsXML.com/demo/webs_Flash/jj.fla

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐