<p>Is it possible to use BackGroundWorker thread in <a href="http://en.wikipedia.org/wiki/ASP.NET" rel="nofollow noreferrer">ASP.NET</a> 2.0 for the following scenario, so that the user at the browser's end does not have to wait for long time?</p>

<h2>Scenario</h2>

<ol>
<li>The browser requests a page, say SendEmails.aspx</li>
<li>SendEmails.aspx page creates a BackgroundWorker thread, and supplies the thread with enough context to create and send emails.</li>
<li>The browser receives the response from the ComposeAndSendEmails.aspx, saying that emails are being sent.</li>
<li>Meanwhile, the background thread is engaged in a process of creating and sending emails which could take some considerable time to complete.</li>
</ol>

<p>My main concern is about keeping the BackgroundWorker thread running, trying to send, say 50 emails while the ASP.NET workerprocess threadpool thread is long gone.</p>

```
```
ThreadPool.QueueUserWorkItem(delegateThatSendsEmails)
```
```
or on System.Net.Mail.SmtpServer use the SendAsync method.
You want to put the email sending code on another thread, because then it will return the the user immediately, and will just process, no matter how long it takes.