惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
P
Privacy International News Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
Troy Hunt's Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Attack and Defense Labs
Attack and Defense Labs
S
Secure Thoughts
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
O
OpenAI News
Cloudbric
Cloudbric
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Spread Privacy
Spread Privacy
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tenable Blog
S
Security @ Cisco Blogs
N
News and Events Feed by Topic
The Hacker News
The Hacker News
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
美团技术团队
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
V
Visual Studio Blog
P
Proofpoint News Feed
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 三生石上(FineUI控件)
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Jina AI
Jina AI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东

博客园 - trace

flash8与javascript集成 ASP.NET 2.0母版页(MasterPage) “核弹”击中晚期直肠癌 驳图王:轻轻一招,获取上万IP SEO技巧一 很实用的缓动函数 [原创]flash动态改变注册点解决方案 flash+webservice 乱码问题解决一例(原创) 为flash构建asp.net Webservice flash 与 webservice 通信的两种方式 Flash 与 Web Service 技术的完美结 FLASH与WebService Flash常用代码的介绍 flash to js flash 与 后台语言通讯 flash与js通讯(2) flash to js 使用工具包 用Javascript实现鼠标拖拽网页表单 (二) 用Javascript实现鼠标拖拽网页表单(一)
Flash 与 Web Service 技术的完美结合
trace · 2007-08-16 · via 博客园 - trace

摘要:
本文以一个最简单加法器的例子,介绍了一下Flash调用Web Service的技术, 使用的开发工具是Visual Studio 2005 Beta2和Flash MX 2004。

众所周知,Flash的表现力很强,最擅长完成又酷又炫的动画效果,适合完成客户端的前台界面。而前台Flash需要的数据都是由后台服务器端的复杂逻辑。如何让Flash与服务器建立连接,进行有效的数据交互呢?Web Service就是一个很不错的选择。

什么是Web Service呢?这里做一个简单的介绍吧。WebService是建立可互操作的分布式应用程序平台,有点难懂是吧。打个比方,有个电子商务网站提供在线货物清单查询销售的服务,或一家研究所有个DNA的数据库查询服务。现在N多家网站或企业可以通过签订协议使用这个服务。这就是Web Service。而它采用的就是一个国际的标准用于生成和解读交互服务。这个标准其实就是一个标准化的XML,而它就叫做wsdl,用标准统一的XML格式给用户能正确解读使用。所以包括任何一种后台服务端语言都能生成和读取wsdl(几乎所有脚本语言都支持,比发ASP,ASP.NET, PHP, C#, JAVA, CF.....)。

在Flash的最新版本Flash MX 2004中,推出了Flash连接Web Service的组件:WebServiceConnector,用它可以非常方便的实现Flash与Web Service的通讯。废话少说,现在我就来用一个很简单的加法器的例子来演示一下。

1.首先,我们来写服务器端,也就是Web Service的逻辑。在VisualStudio2005中新建一个WebService工程,添加一下代码:

[WebMethod]
public int add(int a,int b)
{
       return a+b;
}

运行这个工程,测试一下逻辑是否正确。

2.Web Service准备好了,就可以开始Flash的工作了。我们新建flash一个文件,在flash右面的Components找到WebServiceConnector组件,把它拖到舞台上。

同样,我们还需要拖一些TextInput和Button组件到舞台,用于显示用户的输入和输出结果。

3.接下来,我们给舞台上的每个控件起一个实例名。比如,我先选中WebServiceConnector,然后在它的属性里,在InstanceName里给它起个名字,比如叫:WSConn。然后在WSDLURL中输入Web Service的路径名,如: http://localhost:43980/Demo/Service.asmx?wsdl,记得要在最后加上“?wsdl”。最后在operation中选择需要调用的方法名。

同样的方法,给三个TextInput分别命名为num1, num2, resultNum。

4.绑定数据。我们需要把num1, num2的输入值与WebService中add的方法的两个参数邦定。

选中WebServiceConnector控件,在右面的Component Inspector一栏里做如下操作:

然后,在Bindings里就会看到 param.a, 点 bind to 后面的放大镜,在弹出的窗口中找到num1,点OK。这样,TextInput num1就与参数a绑定了。同样的方法,把num2与参数b绑定。

5.最后,就要在flash中写脚本了。选中舞台上的Button,在Action里添加如下代码:

on (click) {
       var res:Function = function (evt:Object) {
           //把WebService的返回值显示在相应的TextInput:ResultNum中
           _root.resultNum.text = _root.WSConn.results;
       };

       //添加Listener,在WebService调用成功后,执行res函数
       _root.WSConn.addEventListener("result", res);
       _root.WSConn.trigger();
}

6.运行一下flash, 就可以看到结果啦!

这只是一个最简单的例子,其实,flash可以接受Web Service返回的简单数据类型,包括int(flash里的Number), string, boolean, array等等。这样一来,Flash便可以在外表绚丽的同时,实现更强大的功能,真正达到RIA(Rich Internet Application)。