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

推荐订阅源

N
News | PayPal Newsroom
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
H
Hacker News: Front Page
Apple Machine Learning Research
Apple Machine Learning Research
TaoSecurity Blog
TaoSecurity Blog
Help Net Security
Help Net Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
Security Latest
Security Latest
Cloudbric
Cloudbric
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Know Your Adversary
Know Your Adversary
A
Arctic Wolf
L
LangChain Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
The GitHub Blog
The GitHub Blog
P
Proofpoint News Feed
W
WeLiveSecurity
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
M
MIT News - Artificial intelligence
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Cloudflare Blog
小众软件
小众软件
NISL@THU
NISL@THU
云风的 BLOG
云风的 BLOG
P
Privacy & Cybersecurity Law Blog
S
Security @ Cisco Blogs
博客园 - 【当耐特】
I
InfoQ
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Proofpoint News Feed
O
OpenAI News
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
K
Kaspersky official blog
T
Threat Research - Cisco Blogs
量子位
宝玉的分享
宝玉的分享

博客园 - 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)。