1

我在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 被更新。

谢谢

4

0 回答 0