¿Hay alguna manera de utilizar NServiceBus con Asp.Net MVC 2? Deseo enviar un mensaje de solicitud desde una aplicación Asp.Net MVC2 a un servicio, que maneja el mensaje y responde con un mensaje de respuesta. ¿Hay alguna manera de hacer esto claramente?Uso de NServiceBus con Asp.Net MVC 2
Respuesta
Si realmente quiere hacer esto, así es como:
var sync = Bus.Send<SomeMessage>(/*data*/)
.Register((AsyncCallback)delegate(IAsyncResult ar) {
var result = ar.AsyncState as CompletionResult;
// do something with result.Messages
},
null
);
sync.AsyncWaitHandle.WaitOne(/*timeout*/);
Gracias, eso funciona muy bien y no todo lo que quiero –
Existe una razón por la que NServiceBus solo admite el registro de devolución de llamada para códigos de estado y entradas. Esa razón es que no debe usar NServiceBus para las comunicaciones de estilo de solicitud/respuesta de sincronización, esos escenarios se resuelven mejor con marcos como Wcf, NNibernate, EF, Ado.net, etc.
Debería tener en cuenta solo el uso de NSB para asincrónico A las partes de su aplicación les gusta enviar "comandos" a los servicios de backend para su procesamiento.
Una explicación más profunda se puede encontrar aquí:
http://andreasohlund.net/2010/04/22/messaging-shouldnt-be-used-for-queries
Si todavía quiere hacer petición/respuesta con NSB Vas a tener que trabajar para ello :) utilizando un messageHandler por su respuesta que actualiza algo de caché en tu aplicación MVC. Con eso en su lugar puede hacer un sondeo tipo Ajax para determinar cuándo llegan los datos.
Espero que esto ayude!
+1 Estaba tratando de entender por qué necesito NServiceBus para la sincronización de req/resp (como dijiste que no es una tecnología de req/resp sincronizada) y encontré tu respuesta muy útil –
Si se trata de un proyecto totalmente nuevo, no te recomiendo pensar acerca del uso de patrón de separación comando de consulta que le ayudaría a preocupaciones lógicamente separadas con respecto ese estado de cambio en el dominio de negocio (comando) y consultas que actúa solo como mecanismo de descripción de estado. Entonces los Comandos se pueden implementar en NServiceBus y las Consultas usando WCF por ejemplo.
- 1. Uso de ASP.NET MVC 2 con Ninject 2 desde cero
- 2. ASP.NET MVC 2 - ¿Cómo uso DropDownListFor?
- 3. ¿Cómo configuro ASP.NET MVC 2 con MySQL?
- 4. ASP.NET MVC 2 problema con UpdateModel
- 5. Uso de ASP.NET MVC con vistas genéricas
- 6. Uso de ASP.NET MVC con Classic ADO.Net
- 7. asp.net mvc mvc 2 a 4
- 8. RadioButtonFor en ASP.NET MVC 2
- 9. Solicitar validación - ASP.NET MVC 2
- 10. ASP.NET MVC 2 - Prefijo de ViewModel
- 11. Autenticación de 2 pasos en ASP.Net MVC
- 12. Asp.net MVC 2 almacenamiento en caché
- 13. Descarga de archivos en Asp.Net MVC 2
- 14. ASP.NET MVC 2 - Html.DropDownListFor confusión con el modelo de vista
- 15. SelectList en ASP.NET MVC 2 con anotaciones de datos
- 16. ASP.NET MVC 2 acción asíncrona con tiempo de espera
- 17. Parámetro de enrutamiento opcional con restricción en ASP.NET MVC 2?
- 18. ASP.NET MVC 2 parámetro de matriz
- 19. ASP.net mvc 2 carpeta de carpetas estructura
- 20. ASP.NET-MVC 2 Anotaciones de datos StringLength
- 21. ASP.NET MVC 2 - HTML.EditorFor() y Custom EditorTemplates
- 22. Múltiples entornos en ASP.Net MVC 2
- 23. Actualizar a ASP.NET MVC versión 2
- 24. ASP.NET MVC 2 Preview 2: Áreas duplican controlador problema
- 25. Asp.Net MVC 2 desplegable Viendo System.Web.MVC.SelectListItem
- 26. ASP.NET-MVC 2 RC Las mejores características
- 27. xVal y ASP.Net MVC 2 AddModelStateErrors Problema
- 28. Problema CultureInfo con Modelbinding double en asp.net-mvc (2)
- 29. Cómo validar dos propiedades con ASP.NET MVC 2
- 30. Cómo devolver View con QueryString en ASP.NET MVC 2?
¿Cuál es su caso de uso específico? ¿Puedes proporcionar más detalles sobre lo que intentas lograr, así que no tengo que adivinar? –