この投稿に続いて、約 1500 人のアソシエイトのデータをオフにして読み取るプロセスがあります。これは、最初のアプリケーション ページが表示されたときにスレッド化されます。これが完了するまでに約 30 秒かかるため、ユーザーを待たせるのではなく、ajax を使用して読み込みが進行中であることを示すことができると提案されました。ユーザーは、ページにアクセスするたびに必ずしもリストを使用する必要はありません。このようにして、データの取り込みの遅れによって滞ることなく、作業を続けることができます。
私の質問は - 誰かが似たようなことをしたことがありますか? updateProgress パネルを使用してこれを管理するのが最善の方法ですか? ターゲットはドロップダウン コントロールで、ロードが完了するとデータがセッションに格納されます。現在、コントロールにデータを入力するために使用するコードは次のとおりです。
// line label to get the tool to retry...
GetSessionList:
// atempt to get the list from session...
var listContents = (SortedList<string, string>)this.getSessionObject("ListLookup", null);
// if the object hasn't been stored...
if (listContents == null)
{
// return and try again...
goto GetSessionList;
}
// add blank item to control...
ddlAssistantsList.Items.Add(new ListItem(string.Empty, string.Empty));
// add the users to the dropdown...
foreach (var item in listContents)
{
// define new item for current associate...
var listItem = new ListItem(item.Key, item.Value);
// add associate to list...
ddlAssistantsList.Items.Add(listItem);
}
したがって、ユーザーを待たせてページが読み込まれるのを待たせたくはありませんが、ページを表示させて、スレッドの進行状況のみを表示します。