2012-06-20 12 views
8

En WCF que tienen algo como estoCómo lograr que Asp.net MVC OneWay/FireAndForget llame al igual que WCF?

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

que, como resultado permitirá a los consumidores a emitir una petición y continuando el flujo sin esperar una respuesta.

He intentado con Asp.net MVC con AsyncController pero el consumidor aún bloqueará y esperará hasta que se llame la devolución de llamada en el controlador.

Lo que quiero es utilizar Asp.Net MVC pero el WCF comportamiento similar, quiero emitir una solicitud y continuar con el flujo sin esperar a que la petición sea procesada

+0

use C# .net framework pisando. eso debería funcionar en su lado del servidor. –

Respuesta

3

¿Qué pasa con la realización de la asíncrono cuerpo de acción en el servidor y simplemente volviendo a la persona que llama de inmediato. No es exactamente un incendio y lo olvidas, pero emulará eso.

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

    return View(); 
} 

void OperationToCallAsync() 
{ 
    ... 
} 
+0

Probablemente esto puede ser una solución, estaba asumiendo que lo que quiero es un escenario común y se implementa de forma nativa, pero no sé. – ruslander

+0

No tengo conocimiento de esto soportado de forma nativa. –

+0

Esto es lo que también pensé, pero ¿qué ocurre con workingThread cuando MyAction() está fuera de alcance? – Buzzer

Cuestiones relacionadas