2010-05-12 2 views
0

У меня есть сайт asp.net, и я уже сделал .Dispose() вот мой код ниже;Процесс не может получить доступ к файлу, потому что он используется другим процессом

попробовать {

 MailMessage newMail = new MailMessage(MailFrom, MailTo, 

MailSubject, MAILMSG);

 if (MailAttachment != "") 
     { 
      Attachment data = new Attachment(MailAttachment, 

MediaTypeNames.Application.Octet); newMail.Attachments.Add (данные); } newMail.BodyEncoding = System.Text.Encoding.UTF8; newMail.IsBodyHtml = true;

 SmtpClient client = new SmtpClient("192.168.2.205"); 
     client.Credentials = CredentialCache.DefaultNetworkCredentials; 
     client.Send(newMail); 

     newMail.Attachments.Dispose(); 
     newMail.Dispose(); 

     DeleteAttachment(MailAttachment); 

     lblSuccess.Text = "Başvurunuz alınmıştır teşekkürler."; 
     lblSuccess.Visible = true; 
     ClearForm(); 
    } 
    catch (Exception ex) 
    { 
     lblSuccess.Text = ex.Message; 
     //lblSuccess.Text = "Bir sorun oluştu bir daha deneyiniz."; 
     lblSuccess.Visible = true; 
    } 

Но я получаю ту же ошибку, это ей отлично работает в моем локальном хосте, но на сервере я»получаю эту ошибку. Как я могу это исправить?

+0

Возможно, он используется другим процессом? Попробуйте предоставить дополнительную информацию. –

+0

Возможно, более крупный фрагмент кода поможет – Midhat

+0

Я отредактировал и дайте более подробное описание кода. Надеюсь, он будет полезен. – Xenon

ответ

3

Вызов утилиты на объекте вложения.

Вызов Dispose на SmtpClient, не вызывает его в приложениях.

+0

это не сработало. Все же работает локально, но не на сервере? – Xenon

+0

Вы назвали data.Dispose()? Или просто в сборке вложений? Попробуйте его в отдельном приложении. Если это не сработает, другое, что вы можете сделать, это прочитать файл в массив байтов и создать вложение из массива байтов. –

+0

btw, вот код, который поможет: byte [] data = File.ReadAllBytes ("c: \\ temp \\ sample.jpg"); MemoryStream ms = новый MemoryStream (данные); Приложение a = новое приложение (ms, "sample.jpg"); m.Attachments.Add (a); Файл.Delete ("c: \\ temp \\ sample.jpg"); –

Смежные вопросы

 Смежные вопросы