我在silverlight 中循环调用~250 个Javascript 同步Web 服务。这需要大约 3 分钟才能完成。在这个时候,我的表单被冻结,用户无法进行任何输入,我的进度条也没有更新值。这部分在循环中。功能“取消共享”做网络服务请求
object ret = HtmlPage.Window.Invoke("Unshare", acc.ToString(), SelectedUser.ToString());
if (ret != null)
{
bool tmpBool;
if (Boolean.TryParse(ret.ToString(), out tmpBool))
{
if (tmpBool)
{
IncreaseProgress(false);
}
}
}
_
private void IncreaseProgress(bool isError)
{
FinishedAccounts++;
label_total.Content = string.Format("Total: {0} / {1}", FinishedAccounts, Accounts.Count);
progressBar1.Value += this.ProgressStep;
if (isError)
{
Errors++;
label_error.Content = string.Format("Error: {0}", Errors);
}
}
每次请求后如何更新 gui?在 gui 冻结的那一刻,在 ~250 个 web 服务请求之后,gui 被更新。
谢谢