gpt4 book ai didi

c# - 优化 RIA 服务的 Azure 存储查询

转载 作者:行者123 更新时间:2023-11-30 22:40:33 24 4
gpt4 key购买 nike

我正在使用 Azure 存储表和 RIA 服务来创建一个相当基本的 Silverlight UI 来访问和管理一些数据。

没什么太奇特的:带有一些注释的数据模型,以及 DomainDataSource ,让一切变得轻而易举。

有一点异常(exception)。

当我有一个非常非常大的表时,然后加载它,至少当我在 Development Fabric 上执行此操作甚至使用 LoadSizeDomainDataSource的参数,需要很多时间。

我的猜测是发生以下情况:

  • Silverlight 客户端向 RIA 服务请求例如表的前 100 行。
  • 由于 Azure 数据存储查询非常基本,因此该服务会从数据存储中检索所有行,然后对该组执行 Take(100)。
  • 客户端获取前 100 行。

这对于节省带宽来说是可以的,但是当您认为必须为基于 Azure 的应用程序使用的处理能力付费时,这远非最佳。

有什么办法可以优化RIA服务查询吗?是否可以使用 Take()Skip() Azure 存储表上的方法?

编辑:我正在使用 WCF RIA Services SP1 Beta,并且遵循了有关带有 RIA 服务的 Silverlight 的几个教程(这些教程都非常相似)。结合两者,我只是想知道是否可以通过添加LoadSize来改进将大表加载到Silverlight中范围。目前,它似乎只是节省了带宽(因为正确数量的行被发送到 Silverlight 客户端),但整个过程仍然使用与整个表一样多的 CPU 时间。

最佳答案

您是否尝试过 RIA 服务 SP1 测试版?它包括 TableDomainService,通过管理指定 Azure 存储帐户中的实体来处理所有逻辑。此外,您还可以使用 Fiddler 检查服务和 Azure 存储之间的流量。找出问题所在。

引用文献:

  • WCF RIA 服务 SP1 测试版 announcement
  • 凯尔·麦克莱伦的 blog - 他是TableDomainService的开发者。他的博客中有很多关于此功能的帖子。

编辑:Kyle McClellan下面评论中提到,这个问题确实存在于 WCF RIA Services SP1 Beta 中。

关于c# - 优化 RIA 服务的 Azure 存储查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5140505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com