2010-05-27 66 views
1

我们将在ASP.NET MVC网页上使用自定义Silverlight 4.0控件来显示我们数据库中的数据,并想知道最有效的方法是什么?我们将返回高达10万条记录(每条记录2个属性)的值。使用数据更新Silverlight。 JSON或WCF?

我们有一个测试,使用JavaScript到Silverlight的HTML桥。首先,我们在MVC Web应用程序中执行一个对控制器操作的post请求,并返回JSON。然后将这个JSON传递给Silverlight,在Silverlight中进行解析并更新UI。这看起来很慢,存储过程(选择)需要大约3秒钟,而浏览器中的整个更新大约需要10-15秒。

对网络进行了简要介绍,似乎WCF是另一种选择,但没有使用它,我不确定它的能力或适用性。

有没有人有任何经验或建议?

回答

2

你绝对应该考虑改变你的方法。这不应该太复杂。 WCF是一个可能的解决方案。我相信你会得到更好的表现。

  • 它旨在通过电线传输数据。一般来说,Web服务被认为是向Silverlight应用程序提供数据的“正确方式”。 WCF服务肯定更具可配置性。
  • 支持Web服务的另一点是,这种方法比您所应用的更直接。您不必使用JSON序列化,然后解析JavaScript对象,然后将它们传递给Silverlight。
  • 使用wcf移植和继续开发非常容易。
  • 最后但并非最不重要的是,您的代码将更具可读性和可维护性。

看起来性能对您的情况至关重要,所以您可以看看here for compraison

总之,我的建议是考虑改变你的方法。 WCF服务看起来像可能的解决方案。

希望这会有所帮助。

+0

我们实际上已经离开了Silverlight,但这是一个很好的答案。 – 2010-06-02 06:01:36