ユーザーがストアドプロシージャを開始し、そのプロセスが完了するまで待つことなく残りのサイトを使用できるページを作成しようとしています。
私はバックグラウンドワーカースレッドとセカンダリEDMXをこの呼び出し用に作成しようとしましたが、コード実行中にサイトはまだ応答しません(通常1〜2分かかります)。サイトは、ストアドプロシージャの実行を開始した後、ユーザーに応じたままであるように、私は、これは実際に動作して取得するにはどうすればよいASP.NET Entity Framework 6ストアドプロシージャを非同期に実行する
protected void SaveReversal_Click(object sender, EventArgs e)
{
if (PeriodList.SelectedValue != "")
{
var bw = new BackgroundWorker();
bw.DoWork += new DoWorkEventHandler(AsyncReverseDataload_DoWork);
bw.WorkerReportsProgress = false;
bw.WorkerSupportsCancellation = false;
bw.RunWorkerAsync(Convert.ToInt32(PeriodList.SelectedValue));
}
}
private void AsyncReverseDataload_DoWork(object sender, DoWorkEventArgs e)
{
int TrackerDetailKey = (int)e.Argument;
using (AsyncEntities ar = new AsyncEntities())
{
IObjectContextAdapter dbcontextadapter = (IObjectContextAdapter)ar;
dbcontextadapter.ObjectContext.CommandTimeout = 600;
try
{
var results = ar.ReverseDataload(TrackerDetailKey);
}
catch (Exception ex)
{
Console.Write(ex.ToString());
}
}
}
?
メソッドを非同期にしますか? –