gpt4 book ai didi

silverlight-4.0 - RIA 服务异步调用链上 silverlight

转载 作者:行者123 更新时间:2023-12-03 10:21:08 24 4
gpt4 key购买 nike

因此,我正试图围绕 MVVM 和 RIA 服务扭曲我的头脑。但我很快意识到它不像他们卖的那样。

我可以让事情发生,但一切看起来都很丑陋。例如,我有一个 View 模型,需要从多个表等加载一组数据。

我目前的方法是链式异步操作。这闻起来很糟糕:

_Model.GetSomethingById(Id, result =>
{
_saveIt = result;
_Model.GetSomethingElse(result2 =>
{
_saveit2 = result2;
//now i have all the data, can finally work on it.
//Initialize Grids, tables, input etc...
});
});

这是与 RIA 合作的预期方式吗?我错过了一些东西。

当然,我可以在服务端的查询中包含所有内容,也就是说,如果一切都相关。但这也很难闻。

最佳答案

这基本上就是您的代码应该如何与 MVVM 和 RIA 服务一起使用。但是,我还有一些提示:

  • 通常,在您检索数据之后,不会从您的 ViewModel 触发 Grids 等的初始化。相反,它通常通过与您的 XAML 绑定(bind)来完成。即,如果您绑定(bind)的 ViewModel 中有一个 Entity 对象,最好有一个默认实例,然后将实体的内容从结果复制到示例中的 _saveIt 。这将导致您在 XAML 控件中的绑定(bind)自动更新。
  • 它在 ria 服务中很常见,有一个 BusyIndicator在等待来自服务器的数据时,控件绑定(bind)到 ViewModel 中的 bool 属性。这有助于在初始化后等待来自服务器的数据时显示 GUI。
  • 如果你正在做任何类型的数据表,我强烈推荐 RIA Services 1.0 SP1,它有一些内置 DomainCollectionViewDomainCollectionViewLoader处理分页、绑定(bind)等的类。我在一些早期论坛帖子的基础上绕了一圈尝试自己实现这一点,直到我发现它包含在 SP1 中。

  • 一般来说,你在正确的轨道上。当您从 XAML 进行绑定(bind)时,只有很多带有 RIA 服务的异步代码可以很好地处理。

    关于silverlight-4.0 - RIA 服务异步调用链上 silverlight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7259778/

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