By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
435,241 Members | 733 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 435,241 IT Pros & Developers. It's quick & easy.

Releasing file locks on email attachments?

P: n/a
My web app creates several temporary files, then attaches them to an email
that it sends out. When the app attches the documents to the email, .NET
locks the files. My problem is that they aren't getting unlocked.

When the app runns, the first thing it does is delete the files left from
its last run. So, on the second run of the app, I'm getting this error
message: " The process cannot access the file 'D:\ ... \MyFile.txt' because
it is being used by another process." In other words, the server can't
delete the temporary files because the locks placed on them when they were
attached to the email in the previous run were never released.

I tried adding some code immediately after the email send in an attempt to
get the locks released:

************************************************** *********

// Send server error email
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Send(email);

// Clear attachments
if (email.Attachments.Count 0)
{
email.Attachments.Clear();
email.Attachments.Dispose();
}

// Dispose email
email.Dispose();

************************************************** ************

But that didn't do the trick.

Can anyone tell me how to release the locks placed on files when they are
attached to an email? Thanks.

David Veeneman
Foresight Systems
Feb 15 '07 #1
Share this Question
Share on Google+
2 Replies


P: n/a
I found my answer.

Apparently, you have to call Dispose() on each attachment--calling Dispose()
on the attachments collection isn't enough.

So, do a foreach iteration of the attachments collection, calling Dispose()
on each item in turn. That releases the file locks.

Then call Dispose() on the attachments collection, and on the email message.
These latter two steps aren't necessary to release the file locks, but they
are recommended to free up server resources the next time garbage collection
occurs.

David Veeneman
Foresight Systems
Feb 15 '07 #2

P: n/a
Thanks, it saved a lot of my time.

Mar 5 '07 #3

This discussion thread is closed

Replies have been disabled for this discussion.