客户端Flash(SWF)应该如何与服务器端.NET进行通信?

问题描述:

所以我有ASP.NET在IIS7服务器上运行。我想我将使用MVC来处理一些静态页面和基本的动态表单 - 但大部分客户端都是用Flash/ActionScript编写的。客户端Flash(SWF)应该如何与服务器端.NET进行通信?

什么是在客户端和服务器之间构建/生成代理的最简单,最简单,最干燥的方式?

我应该使用哪种格式?

  • JSON
  • SOAP
  • 二进制

和通讯科的协议,我应该使用?

  • WCF
  • HTTP通过MVC控制器动作

我可能错过了一些格式或协议,但基本上应该是比较有效的,不需要的管道代码很多,最好自动生成客户端代理。

WSDL Web服务在Flash中非常容易使用,并且很容易在.NET中创建。

我还建议你至少看看AMF,这是Adobe专有的二进制格式,用于在客户端和服务器之间交换数据。 .NET有几个实现,包括amf.net和weborb。

我从来没有使用过,但我听说过的WebORB真正伟大的事情:http://www.themidnightcoders.com/products/weborb-for-net/overview.html

我们使用的WebORB在我的工作。我强烈推荐它。 Weborb在两端处理序列化的方式有一些问题。只要确保你的.NET类中没有与类名相同的成员名即可。

编辑:Weborb的免费开发者版本应该满足大多数人的需求。 Weborb具有明显的速度优势,因为它使用二进制AMF格式通过导线而不是JSON或SOAP进行通信。

+0

Weborb看起来很昂贵,并将您带入一个框架,您必须付出代价吗?是不是真的值得吗? JSON(正如Scott建议的)似乎是一个简单的解决方案,至少可以完成这项工作。Weborb如何更好? – CVertex 2009-02-06 10:56:35

+0

我们使用Weborb的免费版本,它适用于我们的目的。 Weborb的优点是它使用二进制AMF编码,这是一种超快的方式来通过电线进行通信。 – davogones 2009-02-06 18:09:32

我已经使用a3corelib东西

+0

在actionscript3中有eval()吗?或者类似的东西? – CVertex 2009-02-06 10:57:27

我第二次在WebORB的主权财富基金所消耗JSON ..很简单。它使用AMF协议,这是获取数据的最快方式。您可以轻松地公开您的.NET服务并输入和输出输入的对象。您可以使用RMI和消息。这是一个免费的产品,做的很好...

我对FluorineFX.net有很好的体验 - 它看起来与WebORB非常相似,但它的*和开源。我不认为Flash/ActionScript支持WCF。

你应该注意到(在我所做的研究中),没有办法从服务器发送打包到客户端 - 客户端必须发出所有请求。

WCF支持Flash ..!使用“支持AJAX的WCF服务”和WebInvoke(Method =“POST”)完成