Problema de redefinição de método de linha c #
-
15-11-2019 - |
Pergunta
Eu tenho uma matriz de thread na qual cada linha recebe uma tarefa de pesquisa de um gerenciador de pesquisa de thread - usando um módulo de produtor / consumidor - e quando ele terminar, ele aguarda até o próximo sinal do thread do Pesquisar.A pesquisa é executada via web - e é preciso uma quantidade significativa de tempo (principalmente a obtenção da parte de dados HTML). Meu problema é quando o usuário seleciona para interromper as pesquisas atuais e iniciar um novo conjunto de pesquisas, todas as pesquisas estão ocupadas durante a pesquisa da Web anterior, portanto, atualmente, o usuário aguarda até que as pesquisas não mais relevantes terminem sua tarefa ecomeçar o novo.
Minha pergunta é - como posso começar imediatamente com a nova tarefa relevante? Não pude usar uma bandeira (para indicar o segmento para pular a pesquisa), já que a longa espera é para o método Get HTTP. Existe uma maneira de parar de forma agressiva o método e começar desde o começo?(Eu prefiro não usar nova linha ...)
Agradecemos antecipadamente,
shmouel.
Solução
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