Sto creando un file nell'unità locale con contenuto utilizzando il codice riportato di seguito.Il processo non può accedere al file, perché è utilizzato da un altro processo
File.WriteAllLines(path, contents);
Allego questo file a una mail e inviando il resto del team. Una volta mail inviata ho bisogno di eliminare il file, per eliminare il file che sto usando qui di seguito il codice, ma sto ottenendo errore di runtime
File.Delete(path);
messaggio di errore: Il processo non può accedere al file perché è utilizzato da un altro processo
per impostazione predefinita, il metodo WriteAllLines() chiude il file, ma viene comunque aperto da un altro processo. Posso solo cancellare il file eseguendo il codice dopo qualche tempo, ma questo non è lo scenario. Devo cancellarlo una volta che la posta è stata inviata.
Aggiornamento
System.Net.Mail.MailMessage mailMessage = new System.Net.Mail.MailMessage();
mailMessage.To.Add(new System.Net.Mail.MailAddress(recipient, ToName));
mailMessage.From = new System.Net.Mail.MailAddress(From, FromName);
mailMessage.Subject = Subject; // "Outlook calendar as attachment"; // modified by Srikanth J on 28/06/2012
mailMessage.Body = "This is a test message";
System.Net.WebClient webclient = new System.Net.WebClient();
webclient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
for (int i = 0; i < item.Attachments.Count; i++)
{
string url = item.Attachments.UrlPrefix + item.Attachments[i];
SPFile file = item.ParentList.ParentWeb.GetFile(url);
mailMessage.Attachments.Add(new System.Net.Mail.Attachment(file.OpenBinaryStream(), file.Name));
}
System.Net.Mail.Attachment mailAttachment = new System.Net.Mail.Attachment(path);
mailMessage.Attachments.Add(mailAttachment);
smtp.Send(mailMessage);
Ogni aiuto è appriciated, grazie.
Sembra che il processo per allegare il file alla posta conservi ancora il file? –
Potresti postare il codice dove si allega il file? È molto probabile che ci sia il problema come suggerito da @CuongLe. –
@CuongLe Vuoi dire che anche dopo l'invio della posta è ancora trattenuto dal processo di posta? – Srikanth