OK I am working on a windows service that monitors specific directories and checks to see if a file is changed. If a file is changed, it is attached to an email and sent to an admin.

The way I solve the problem...
I create a FileInfo object to do the following:
-I check to see if the file has an extension that is allowed to be attached
-I check to see if the file is under a max size to be attached

I create an Attachment object to do the following:
-attach the file to an email

I then send the email.

The problem with this is when I edit the file after it is successfully attached the first time, I CANNOT save changes to that file. I get an error message saying that it is being used and cannot change it. My solution to this problem is to call the "dispose()" method of the attachment class. When i do this, I can edit the file all I want to and the first attachment works but after that the "dispose()" method always throws an exception and the file is never attached to the email when the file is edited again. Why is this happening?