我创建了一个XML文件,我需要在注册时通过电子邮件发送给用户。 创建XML文件后,我将其作为附加文件名(使用ServeMapPath)传递,电子邮件程序将文件发送给电子邮件。是啊。但是,我想删除该文件。
出现SmtpClient客户端=新的SmtpClient(settings.SMTPServer);发送电子邮件后锁定文件。即使我等了很长时间,它仍然被锁定。使用Visual Studio中的IISExpress。如果我存在Visual Studio并重新打开调试,我可以删除或覆盖该文件一次。
这是在Visual Studio或???下开发的特征吗?任何测试工作? IIS会将文件锁定在生产服务器上吗?
答案 0 :(得分:1)
我是否因为找到解决问题的方法而获得积分?
电子邮件发送例程创建了与SMTPClient的连接,我也创建了一个新的Message。我做了一个client.Dispose(),但不是为了消息。当我做了一些清理工作,比如message.Dispose(),文件解锁后我的应用程序可以在完成后将其删除。
SmtpClient client = new SmtpClient(settings.SMTPServer);
MailMessage message = new MailMessage();
....
//send message with attachment
....
client.Dispose();
message.Dispose();
我希望这有助于其他人。