2016-09-02 5 views
0

사용자 등록시 이메일을 보내야하는 XML 파일을 만듭니다. XML 파일을 만든 후 첨부 파일 이름 (ServeMapPath 포함)으로 전달하고 전자 메일 프로그램은 전자 메일 메시지를 파일로 보냅니다. 네. 그러나, 나는 그 파일을 지우고 싶다.SendEmail()에 제출 한 후 프로세스가 파일에 액세스 할 수 없습니다.

SmtpClient 클라이언트 = 새 SmtpClient (settings.SMTPServer) 나타납니다; 이메일을 보낸 후 파일을 잠그고 있습니다. 오랜 시간이 걸리더라도 잠겨 있습니다. Visual Studio에서 IISExpress 사용하기. Visual Studio가 있고 디버깅을 다시 열면 파일을 한 번 삭제하거나 덮어 쓸 수 있습니다.

Visual Studio 또는 ???에서 개발하는 특징입니까? 테스트를위한 모든 해결 방법이 있습니까? IIS가 프로덕션 서버에 파일을 잠근 상태로 유지합니까?

답변

1

나만의 문제에 대한 해결책을 찾았습니까?

전자 메일 보내기 루틴이 SMTPClient에 대한 연결을 만들고 새 메시지를 만들었습니다. client.Dispose()를했지만 메시지가 아닙니다. message.Dispose()와 같은 정리 작업을 수행하면 파일이 잠금 해제되고 응용 프로그램이 삭제 될 수 있습니다.

SmtpClient client = new SmtpClient(settings.SMTPServer); 
MailMessage message = new MailMessage(); 
.... 
//send message with attachment 
.... 
client.Dispose(); 
message.Dispose(); 

다른 사람들에게 도움이되기를 바랍니다.

+0

질문에 대한 해결책을 찾은 명성이 높습니다 (+1)! –