8

WCFでは、このようなものがあります

[ServiceContract]
public interface IDoAuditService
{
    [OperationContract(IsOneWay = true)]
    [WebInvoke]
    void Audit(AuditEntry auditEntry);
}

その結果、コンシューマーはリクエストを発行し、レスポンスを待たずにフローを続行できます。

AsyncController を使用して Asp.net MVC を試しましたが、コンシューマーは引き続きブロックされ、コントローラーでコールバックが呼び出されるまで待機します。

私が望むのは、Asp.Net MVC を使用することですが、WCF のような動作です。リクエストを発行し、リクエストが処理されるのを待たずにフローを続行したい

4

1 に答える 1

3

サーバー上でアクション本体を非同期に実行し、すぐに呼び出し元に戻るのはどうですか。それはまさに火と忘れではありませんが、それをエミュレートします。

public ActionResult MyAction()
{
    var workingThread = new Thread(OperationToCallAsync);
    workingThread.Start();

    return View();
}

void OperationToCallAsync()
{
    ...
}
于 2012-06-20T14:44:40.483 に答える