使用Flex和ASP.NET的数据库

时间:2009-11-06 19:32:05

标签: c# asp.net flex

我是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);
}

4 个答案:

答案 0 :(得分:3)

你真的应该使用WebORB或FluorineFX来实现这一目标。它发送二进制数据(amf),并且它的性能更高。您可以将flex类映射到.net类,这使得它非常容易!

如果您安装了WebORB或FluorineFX,您将获得大量示例+非常清晰的文档。

我真的不建议使用xml。

答案 1 :(得分:0)

我认为答案真的取决于很多因素。虽然使用三层方法(数据库 - > Web服务 - >前端)是SOP,但请考虑以下事项:

1)数据量:如果您的应用程序使用大量数据或更大数据库的不同子集,那么使用三层方法将是最佳选择。但是,如果它是少量数据,那么平面文件就是一个简单直接的解决方案。

2)数据变化的频率:如果变化很大,那么三层方法最好。如果数据经常变化并且您希望将更改推送到Flex前端,您甚至可以考虑使用Livecycle或Blaze之外的ASP.NET之外的解决方案。但是,如果您使用的数据不经常更新,那么您的方法将再次简单明了。

3)安全性:使用XML文件是一种非常安全的解决方案。它与您的数据库断开连接,并且没有人获得对您的Web服务器的写访问权限,数据流将成为一种方式。但是,如果您创建Web服务并将其连接到数据库,则必须采取措施确保数据的安全性来自SQL注入和其他攻击。如果这是敏感数据(就像有任何其他类型)并且您没有创建安全数据库服务的经验,那么您可能希望坚持使用当前系统。

那说我的工作几乎总是需要一个三层的方法,这是最强大的方法。请确保,如果你走这条路,你已经考虑了所有因素,特别是3号。

编辑:

该列表中应该有另一个项目,它与数字1密切相关:

4)您对数据做了什么:如果您只是将相同的数据集呈现为应用程序中的表或某些行,那么XML文件就是一个不错的解决方案。如果您在使用之前对返回的XML执行了大量XPath类型查询,则三层方法具有优势。

答案 2 :(得分:0)

另一个保留关注点分离的完美可行选项是使用JSON而不是XML。它在连接的两端都得到了很好的支持(Web服务和客户端),它简化了Flex中的编组和解组过程。

答案 3 :(得分:-1)

最好的方法是创建一个Web服务。在Visual Studio中,创建一个新的Web项目,然后选择“ASP.NET Web服务应用程序”。

以下教程可帮助您开始使用ASP.NET编写Web服务。

http://www.15seconds.com/Issue/010430.htm

此外,以下是使用Flex消费Web服务的方法。

http://www.adobe.com/devnet/flex/articles/flexbuilder_ws.html