An excellent article by Julien Cheyssial descripes how, by using Response.Flush(), you can send parts of the rendered content to the client. And thus for example render a progress bar.
Check out the demo and the article.