如何实现像WCF一样的Asp.net MVC OneWay/FireAndForget调用呢?

rus*_*der 8 asp.net asp.net-mvc wcf wcf-client

在WCF中你有这样的东西

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

因此,这将允许消费者发出请求并继续流程而无需等待响应.

我已经尝试使用AsyncController进行Asp.net MVC,但消费者仍然会阻塞并等待,直到在控制器中调用回调.

我想要的是使用Asp.Net MVC但行为WCF喜欢,我想发出请求并继续流程而不等待处理请求

小智 3

在服务器上异步执行操作主体并立即返回调用者怎么样?这并不完全是一劳永逸,但它会效仿这一点。

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

    return View();
}

void OperationToCallAsync()
{
    ...
}
Run Code Online (Sandbox Code Playgroud)