从Action Script 2调用WCF服务

时间:2010-04-01 19:14:54

标签: ajax flash wcf actionscript actionscript-2

我是一名.NET程序员,在项目上与Flash设计师合作。设计是他们将创建一个Flash UI(用AS2实现)来呈现问卷。在最终用户完成后,会发送给我(某种形式的.net网络服务)问卷的答案,我将进行计算,然后我会发回一个回复(回复可能是单个整数,虽然它可能是(整数分数,字符串描述)。

我和设计师都不了解Action Script。有人在AS2中有这样的Web服务调用的片段吗?是否有我们可以使用的AS2肥皂库,或者我应该公开RESTful接口?设计师将问卷答案汇总到服务URL的查询字符串中可以这么简单吗?什么是我的响应的典型数据格式(xml,json,纯文本)

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

您当时的项目有点晚了,但我想推荐使用WCF Flash Remoting(http://wcfflashremoting.codeplex.com/)与AS2或AS3和WCF一起使用 - 它允许您获取现有的基于WCF SOAP的端点并添加其他AMF或Flash Remoting端点。

我已经将它用于我的大多数与工作相关的项目,并且自从我们推出以来,我们的Flash开发人员一直没有得到好评。

答案 1 :(得分:0)

除非你需要基于SOAP的Web服务的高级功能,否则我肯定会建议从浏览器调用Web服务的REST路由,无论是javascript还是actionscript。

.NET将从普通对象自动为您创建JSON响应。

答案 2 :(得分:0)

我可能会选择AMF。它内置于Flash中,因此您可以自动进行序列化。我很确定还有一个用于.NET的AMF库。如果您使用的是AS2,请确保获得AMF0,而不是AMF3。

查看wiki page以获取有关AMF的更多信息。大多数AMF语言库都有如何实现AMF通信的语言特定部分的示例,以及如何在Flash中实现它的示例。您应该能够以这种方式获得所需的代码片段。

答案 3 :(得分:0)

我在其中一个项目中使用了loadVariablessendAndLoad方法。

请看下面的链接: Sample

上面的代码将帮助您将Flash应用程序中的值传递给.NET页面。

现在要将数据从C#页面发送回Flash,你需要使用response.write将结果写在另一个页面中。(该页面应该写为myText1=resultFromC#;

现在使用loadVars将该页面加载到flash,我现在没有flash示例。试试这个,我会尽快更新。

但如果您尝试在Flash中使用webService连接器,则不确定这将有多大帮助。