私がやろうとしているのは、MVCサイトでビューをレンダリングして、サーバー側の処理が行われている間はブラウザーを更新しないようにユーザーに通知することです。これは長時間実行されるタスクである可能性があり、更新を押すとリクエストが再度送信されるため、プロセスが実際に成功したときにエラー画面に送信されます。これは、JSでJQuery $ .ajax(...)または単純な$(document).ready(function(){window.location = ...});を使用して実行する予定でした。しかし、MVCでそれを行う方法があることを望んでいたので、クライアントの呼び出しに返されるHttpResponseCodeをより細かく制御できます。これを行う方法はありますか?
私はの線に沿って考えていました
public ActionResult LoadingAsync(string UserKey, string userInf)
{
AsyncManager.OutstandingOperations.Increment();
CallProcess(...)
return View();
}
次に、完了したアクションにリダイレクトを実行させます
public ActionResult LoadingCompleted()
{
LongRunningProcess();
return Redirect("http://yourdone.com");
}
または、ビュー内からリダイレクトを実行するビュー内にレンダリングするものがあります
<% Html.RenderAction("Process"); %><!--This won't actually redirect-->
何か案は?