1

私はSilverlightのループで最大250のJavascript同期Webサービスを呼び出しています。これは完了するのに約3分かかります。このとき、私のフォームはフリーズしていて、ユーザーは入力を行うことができず、プログレスバーは値を更新しません。この部分はループに入っています。関数「共有解除」はWebサービス要求を実行します

 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