我是Flex的新手,我想知道从数据库中获取数据并将其显示在Flex (Flash) swf中的最佳实践。目前,我有一些从数据库获取数据的C#代码,并将其保存到我网站上的XML文件中。然后.swf读取该xml文件。
这是最好的方法吗,还是有更好的或更标准化的方法?谢谢
protected void Page_Load(object sender, EventArgs e)
{
DataTable _dt = new DataTable();
_dt = ProductList.GetProductssForAdmin(10);
_dt.TableName = "Products";
_dt.WriteXml(Server.MapPath("xml/Flex.xml"), false);
}发布于 2009-11-07 04:16:18
最好的方法是创建一个web服务。在Visual Studio中,创建一个新的Web项目,然后选择“ASP.NET Web Service Application”。
下面的教程将帮助您开始使用ASP.NET编写web服务。
http://www.15seconds.com/Issue/010430.htm
此外,这里还介绍了如何使用Flex来使用web服务。
http://www.adobe.com/devnet/flex/articles/flexbuilder_ws.html
发布于 2009-11-07 15:59:52
你真的应该使用WebORB或FluorineFX来实现这一点。它发送二进制数据(Amf),而且它的性能更好。您可以将flex类映射到.net类,这使得一切都非常简单!
如果你安装了WebORB或FluorineFX,你会得到大量的例子和清晰的文档。
我真的不推荐使用xml。
发布于 2009-11-07 05:19:31
我认为答案真的取决于很多因素。尽管使用三层方法(数据库->网络服务->前端)是SOP,但请考虑以下事项:
1)数据量:如果您的应用程序使用大量数据,或者使用较大数据库的不同子集,那么使用三层方法将是最好的。但是,如果数据量很小,那么平面文件就是一个简单、直接的解决方案。
2)数据更改的频率:如果数据更改很多,那么三层方法是最好的。如果数据经常变化,并且您想要将更改推送到ASP.NET前端,您甚至可以考虑使用Livecycle或Blaze在Flex之外的解决方案。但是,如果您正在使用的数据不经常更新,那么您的方法仍然是简单和直接的。
3)安全性:使用XML文件是一个非常安全的解决方案。它与您的数据库断开连接,除非有人获得对您的web服务器的写访问权限,否则数据流将是单向的。但是,如果创建web服务并将其连接到数据库,则必须采取措施确保数据的安全性,使其免受SQL注入和其他攻击。如果这是敏感数据(就像有其他类型的数据一样),并且您在创建安全数据库服务方面没有经验,那么您可能希望继续使用当前的系统。
也就是说,我的工作几乎总是需要一个三层的方法,这是最强大的方法。只要确保你走了那条路,你已经考虑了所有的因素,特别是第三个因素。
编辑:
在这个列表中真的应该有另一个项目,这与第一个密切相关:
4)如何处理数据:如果只是将同一组数据呈现为应用程序中的表或类似内容,那么XML文件是一个不错的解决方案。如果在使用返回的XPath之前对其执行大量XML型查询,那么三层方法具有优势。
https://stackoverflow.com/questions/1689811
复制相似问题