tengo (quiero) para ejecutar una solicitud de búsqueda a varias fuentes. Ahora he hecho algunos subprocesos múltiples en el pasado, pero todo fue fuego y olvido.Solicitud multiproceso/asincrónica y espere a que se hayan completado y luego procese los resultados
Ahora lo que quiero hacer es girar 3 solicitudes idénticas en 3 objetos diferentes, esperar hasta que estén 'hechas' (y eso me da la primera pregunta: ¿cómo dicen 'ya terminé'? , y luego recoger todos los datos thet've me envió
Así que en pseudo código que tengo esta interfaz:.
interface ISearch
SearchResult SearchForContent(SearchCriteria criteria)
Así que en código que crea los servicios de búsqueda de tres:
ISearch s1 = new SearchLocal();
ISearch s2 = new SearchThere();
ISearch s3 = new SearchHere();
Y el n llamar SearchForContent(SearchCriteria criteria)
en los tres de ellos, de una manera multihreaded/asíncrono
y todos ellos vienen de nuevo a mí con su SearchResult
y después de que todos se hacen, i Proceso SearchResult
sus objetos.
Espero que estas líneas de texto tipode hace que se obtiene lo que está en mi cabeza :)
estoy trabajando en un proyecto # ASP.Net 3.5 C.
Es más fácil de hacer este tipo de cosas con objetos 'Task'. Se introdujeron en .NET 4, pero se han incluido en la biblioteca Rx (no compatible, use-at-your-own-risk) (http://msdn.microsoft.com/en-us/devlabs/ee794896. aspx). ¿Utiliza Rx como opción o necesita una solución puramente .NET 3.5? –
No, lo siento, necesito una solución puramente 3.5. – Michel
Gahh solo ahora leyendo el comentario sobre 3.5, supongo que las tareas no funcionarán para usted, entonces – BrokenGlass