gpt4 book ai didi

c# - Silverlight 4 + RIA 服务负载

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:00 25 4
gpt4 key购买 nike

使用相同的加载操作加载多个实体然后将其异步绑定(bind)到单个事件处理程序是否是一种可接受的做法?我这样做是因为我使用的是忙碌指示器,我们真的不知道哪个实体返回得更快。

或者我应该将负载分成多个负载操作/事件处理程序对?

  LoadOperation GetResult;

private void LoadinDatagrid()
{
IsBusy = true;
GetResult = DomainContext.Current.Load(GetSomething1Query());
GetResult = DomainContext.Current.Load(GetSomething2Query());
GetResult = DomainContext.Current.Load(GetSomething3Query());

GetResult.Completed += new EventHandler(GetResult_Completed);
}

void GetResult_Completed(object sender, EventArgs e)
{

GetSomething1 = DomainContext.Current.Something1;
GetSomething2 = DomainContext.Current.Something2;
GetSomething3 = DomainContext.Current.Something3;
GetResult.Completed -= new EventHandler(GetResult_Completed);
IsBusy = false;
}

最佳答案

加载操作获取结果;

private void LoadinDatagrid()
{
IsBusy = true;

GetResult.Completed += new EventHandler(GetResult_Completed);
GetResult = DomainContext.Current.Load(GetSomething1Query());
GetResult = DomainContext.Current.Load(GetSomething2Query());
GetResult = DomainContext.Current.Load(GetSomething3Query());

}

void GetResult_Completed(object sender, EventArgs e)
{
if(e.result!=null){
if(e.result.x=="GetSomething1")
GetSomething1 = DomainContext.Current.Something1;
else if(e.result.x=="GetSomething2")
GetSomething2 = DomainContext.Current.Something2;
else if(e.result.x=="GetSomething3")
GetSomething3 = DomainContext.Current.Something3;
//
//Because when returned 1st data then stop eventhandler.
//GetResult.Completed -= new EventHandler(GetResult_Completed);
//
}
IsBusy = false;
}

关于c# - Silverlight 4 + RIA 服务负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211627/

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