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

时间:2012-06-20 14:34:00

标签: asp.net asp.net-mvc wcf wcf-client

在WCF中你有这样的东西

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

结果将允许消费者发出请求并继续流程而无需等待回复。

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

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

1 个答案:

答案 0 :(得分:3)

如何在服务器上执行动作体异步并立即返回调用者。这不是一场火灾而是忘记,但它会模仿它。

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

    return View();
}

void OperationToCallAsync()
{
    ...
}