<p>I'm living in nightmares because of this situation, I have a HttpWebRequest.GetResponse that keeps on giving me a ThreadAbortException, that causes the whole app to go down.</p>

<p>How can I avoid that, or at least handle it, would using Thread.ResetAbort() be useful in such a case?</p>

<p>To explain more here is a rough code sample:</p>

<pre><code>HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://someurl.com/");
HttpWebResponse resp = req.GetResponse();
</code></pre>

<p>now the last line above throws the ThreadAbortException, it might be because the request timed out which is fine, but I don't want to get a ThreadAbortException inside my ASP.NET 2.0 app because it kills it. The ThreadAborException can't be caught with try/catch, the only way to handle it is using Thread.ResetAbort() which has its own bad effects too, it will keep the thread alive and god only knows for how long.</p>

I had this problem with using Response. Check out this article for some workarounds.
http://support.microsoft.com/kb/312629
Also take a look at this MSDN documentation in the section for WebException and Remarks.
http://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse.aspx
This exception can be caught... If you are having trouble detecting the right one, you should try catching a general exception (system.Exception) and from there the stack trace should tell you the specific type (HttpException, WebException, etc) to actually catch.