Pregunta

Tengo una matriz de hilos en la que cada hilo recibe una tarea de búsqueda de un administrador de búsqueda de hilos: usando un módulo de productor / consumidor, y cuando lo termine, espera hasta la siguiente señal del hilo del administrador de búsqueda.La búsqueda se realiza a través de la web, y se tarda una cantidad de tiempo significativa (principalmente la parte de los datos HTML). Mi problema es cuando el usuario selecciona para detener las búsquedas actuales e iniciar un nuevo conjunto de búsquedas, todas las búsquedas están ocupadas durante la búsqueda web anterior, por lo que actualmente, el usuario espera hasta que las búsquedas no más largas terminen su tarea ycomenzar el nuevo.

Mi pregunta es: ¿cómo puedo comenzar inmediatamente con la nueva tarea relevante? No pude usar una bandera (para indicar el hilo para omitir la búsqueda) ya que la larga espera es para obtener el método HTTP. ¿Hay alguna manera de detener agresivamente el método y para iniciarlo desde el principio?(Prefiero no usar un nuevo hilo ...)

gracias de antemano,

shmouel.

¿Fue útil?

Solución

I found a similar stackoverflow thread that should be of use. The trick is to use BeginGetResponse instead of GetResponse in order to call an abort on the HTTP request: http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.abort.aspx

Link to original thread: Killing HttpWebRequest object using Thread.Abort

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top