我正在开发一个与ASP.Net / C#后端通信的Flex / Flash应用程序。有什么方法可以在两者之间共享代码吗?
服务器提供了一个相当有趣的域模型,客户端设计为maniuplate。理想情况下,我希望能够定义此域模型一次,并让双方使用它来保持一致性。我追求DRY带来的所有好处。
我是Flex的新手,但我想到的是一些可以编译为C#和ActionScript的中间语言。
我目前有一个基本的REST风格的Web服务,它将对话的XML序列化版本发送到Flex。这工作正常,但我真正感兴趣的是能够共享与这些对象一起的简单业务逻辑。需要在服务器和客户端上处理某些业务规则,并且出于性能原因,我不希望不必回调服务器。
答案 0 :(得分:4)
我也遇到了这个问题,所以我写了一个C#到ActionScript转换器。
在C#中编写逻辑,并将此实用程序添加为构建后步骤。然后,您的业务逻辑将在两种环境中都可用。它对我很有用 - 我用它来分享超过30,000行代码。
答案 1 :(得分:1)
我会破解域模型规范并让它生成两种语言的模型。但这可能不是最有效的事情。
答案 2 :(得分:0)
查看http://www.fluorinefx.com/(这是开源闪存远程处理)。我已广泛使用它来调用ActionScript中用C#编写的Web服务,它运行良好。好的一点是,你的c#可以返回一个DataSet(或类似的东西),而Flourine框架会将它转换为ActionScript理解的对象。
答案 3 :(得分:0)
<强>更新强>
您可以通过使用列表来传递对象,但您真正传递的只是数据。
你无法将'方法'传递给客户。
我认为问题在于设置。
您可以使用ActionScript在客户端处理任何您想要的任何内容,如果您想在客户端执行此操作,则只需将要操作的业务逻辑放在ActionScript端。< / p>
Olde回答
我通过使用web service layer一起使用Flex和C#。
您可能希望查看创建Web服务以与您的C#代码进行弹性对话。
答案 4 :(得分:0)
我不知道,C#本质上是一种强类型的编译语言,而ActionScript是一种松散类型的解释语言。我害怕粉笔和奶酪。
答案 5 :(得分:0)
如果将对象序列化为XML并将其发送给Flex,那会怎么样?至少可以让您共享数据
答案 6 :(得分:0)