私は電子メールの束の火災以下のようなコントローラがあります。MVC爽やかビュー
public ActionResult Index()
{
ViewBag.Message = "Email Results.";
emailQueue.emailQueueCompleted += EmailsCompleted;
emailQueue.Run();
List<EmailError> emails = new List<EmailError>();
return View(emails);
}
しかしemailQueue.Run()がまだビューがレンダリングされる時までに完了していない非同期タスクです。とにかく、私の質問は、私は、電子メールキューの後にエラーの最新リストを取り戻すたら、私は簡単にこのコントローラでビューを再レンダリングすることができている
public void EmailsCompleted(List<EmailError> errors)
{
if (errors.Count > 0)
{
// Do some stuff
// Re-render view with updated errors if possible
}
}
:それは、その後完了したとき、それは以下の同じコントローラでこのメソッドを呼び出しますタスクを完了しましたか?また、最初にビューをレンダリングしようとする前に、メールが完了するのを待つ必要があります(これは、かなり長い時間がかかる可能性があることに注意してください)。 MVCは通常、私が掘り下げたいと思っているエリアではないので、いつものように提案を歓迎します。
http://www.codeproject.com/Articles/377394/ElmahR-equals-ELMAH-plus-SignalRこれはMVCとsingalRを使ったプロジェクトで、あなたのニーズに似たものです。 – Joe