我们发现ASP.Net作为服务器后端和用户界面的Adobe Flash组合是一个很好的婚姻。
到目前为止,我们已经使用Javascript作为两种技术之间的通信渠道。这样做效果很好,但是我们希望能够来回传递对象而不仅仅是字符串变量,我们还希望获得更好的性能。
您可以使用多种方法进行交流:
我的研究表明,Flash Remoting是最佳表现者。
在服务器上,您需要提供远程网关(Flash Remoting(999美元),FluorineFx,WebORB,AMF.Net)。
从客户端使用远程处理的最佳方法是什么?
问题在于Flash远程处理库似乎不是很好或者得到很好的支持。他们是MX,而不是CS3,还不确定CS4。
Flex显然具有出色的远程支持,但我们喜欢在Flash中制作自由形式UI的功能,而不仅限于Flex控件。我已经看到了在flash中嵌入flash swf的建议 - 但我不愿意引入另一层。我没有广泛使用Flex,所以我可能会遗漏一些东西。
有没有人在这方面有过经验?我应该尝试将我的swf嵌入flex中吗?或者CS4是否提供足够好的远程支持?
感谢。
鲍比 - 这是个好主意。 JSON可能会做到这一点。cliff.meyers - 我们已经在服务器上使用氟。问题在于在客户端上使用Flash(NOT Flex)(见上文),而Flash对远程处理缺乏良好的支持。
答案 0 :(得分:1)
您是否尝试构建提供JSON的Web服务?在进行Flash Remoting路线之前,我会尝试并看看它是否适合您的需求。
答案 1 :(得分:1)
不确定你对良好支持的意思。我们也遇到了这个问题,正在使用氟。我基于NetConnection对象构建了一组类。一切正常,我们正确地翻译VO / DTO对象并在Flash中正确输入。我遇到的唯一问题是故障对象被输入为Object并且显然没有有用的文档。我们遇到的另一个问题是现在我们必须手动转码VO / DTO对象,而不是从相同的定义文件中自动生成C#和AS3代码。
我们现在已经在两个项目中使用了它,它没有打嗝。
答案 2 :(得分:1)
我们在Flash中使用Fluorine或WebORB远程网关完成了多个项目。我们遇到了一些问题(我认为使用ObjectEncoding.AMF3时遇到了问题)但对我来说这是最好的解决方案。我们也使用JSON,这也是一个不错的选择,但不如WebORB或FluorineFX(对我来说)。
也许看一下WebORB的例子。我认为有一些用Flash而不是Flex编写的例子。
private var service:NetConnection;
service=new NetConnection();
service.objectEncoding=ObjectEncoding.AMF0;
service.connect("GatewayUrl");
responder=new Responder(callResult, callFault);
service.call("name_service", responder, parameters);
基本上你需要做的就是(除了用registerClassAlias注册你的类之外)。
当然,Flex可以更好地支持远程处理。
在我的博客上查看此link以获取其他示例。