我有一个ac#app(Windows服务),它会触发一个读取目录中文件的计时器事件,并使用文件中的数据发送短信.当事件触发时,它会在处理新文件之前尝试将"已处理"目录中的已处理文件移动到"已完成"目录.我不断得到"另一个进程正在使用的文件"异常,虽然我很确定我处理了使用这些文件的所有内容.如果我停止服务并再次启动它,则会释放文件.有任何想法吗?
//Code that fires the timer
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Timers;
namespace SmsWindowsService
{
public partial class SmsWindowsService : ServiceBase
{
private static System.Timers.Timer aTimer;
public SmsWindowsService()
{
InitializeComponent();
if (!System.Diagnostics.EventLog.SourceExists("MatterCentreSMSSource"))
{
System.Diagnostics.EventLog.CreateEventSource(
"MatterCentreSMSSource", "MatterCentreSMSLog");
}
elMatterCentreSMS.Source = "MatterCentreSMSSource";
elMatterCentreSMS.Log = "MatterCentreSMSLog";
}
protected override void OnStart(string[] args)
{
string logText = string.Empty;
logText = "MatterCentreSMS Service started successfully on " + DateTime.Now;
WriteEventLog(logText);
//Create a timer …Run Code Online (Sandbox Code Playgroud)