Windows服务中的C#文件锁

时间:2017-07-26 06:58:13

标签: c# file windows-services locking

我写了一个Windows服务来执行以下操作。

  1. 调用Hand Punch机器的供应商.exe生成文本文件以从Hand Punch机器获取数据。存储在临时文件夹中。 .exe使用System.Diagnostics.Process.Start

  2. 调用
  3. 附上并发送电子邮件

    SmtpClient客户端=新的SmtpClient();

    MailMessage mail = new MailMessage(" f@abc.com" ;," t@abc.com");

    string [] fileEntries = Directory.GetFiles(...);

    foreach(fileEntries中的字符串fileName) {     附件附件=新附件(fileName);     mail.Attachments.Add(附着);
    }

    client.Send(邮件);

  4. 将文件从临时文件夹移至已发送文件夹

  5. 我可以完成第1步和第2步,但是当我尝试第3步(移动文件)时,文件被我的服务锁定(但我确信它没有写任何内容)。

    如何移动文件?

1 个答案:

答案 0 :(得分:0)

SmtpClient.Send是锁定文件。当我使用'使用'时,解决了我的问题。