C# windows服务未在c中启动#
我已经运行windows服务一年多了,它可以将文件从一个文件夹复制到另一个文件夹。它会将时间写入文本文件,并在每次间隔后检查写入文本文件到必须复制的文件的时间,如果要复制的文件大于写入文本文件的时间,则将复制该文件。它现在停止工作了,我尝试从VisualStudio命令提示符中删除该服务并重新安装,但它不起作用C# windows服务未在c中启动#,c#,windows-services,C#,Windows Services,我已经运行windows服务一年多了,它可以将文件从一个文件夹复制到另一个文件夹。它会将时间写入文本文件,并在每次间隔后检查写入文本文件到必须复制的文件的时间,如果要复制的文件大于写入文本文件的时间,则将复制该文件。它现在停止工作了,我尝试从VisualStudio命令提示符中删除该服务并重新安装,但它不起作用 public partial class FileService : ServiceBase { Timer aTimer = new Timer(); public
public partial class FileService : ServiceBase
{
Timer aTimer = new Timer();
public FileService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
aTimer.Enabled = true;
aTimer.Elapsed += new ElapsedEventHandler(OnElapsedTime);
aTimer.Interval = 60000;
aTimer.Start();
}
private void CopyFiles()
{
try
{
string ReadTextFile=File.ReadAllText(@"\\10.0.0.0\c$\Database\tempFolder\date.txt");
DateTime TimeInTextFile = Convert.ToDateTime(ReadTextFile);
if (File.GetLastWriteTime(@"\\10.19.0.1\folder\file.dbf") > TimeInTextFile)
{
File.Copy(@"\\10.19.0.1\folder\file.dbf", @"\\10.0.0.0\c$\Database\tempFolder" + "\\_file.dbf", true);
StreamWriter WriterTotxt = new StreamWriter(@"\\10.0.0.0\c$\Database\tempFolder\date.txt, false);
DateTime LastVipAccess = File.GetLastWriteTime(@"\\10.19.0.1\folder\file.dbf");
WriterTotxt.Write(LastVipAccess);
WriterTotxt.Flush();
WriterTotxt.Close();
RenameAndMoveFiles();
System.Threading.Thread.Sleep(5000);
string[] RenamedDbfFiles = Directory.GetFiles(@"\\10.0.0.0\c$\Database\", "*.dbf__");
foreach (string f in RenamedDbfFiles)
{
File.Delete(f);
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
private void RenameAndMoveFiles()
{
if (File.Exists(@"\\10.0.0.0\c$\Database\" + "file.dbf"))
{
File.Move(@"\\10.0.0.0\c$\Database\ + "file.dbf", @"\\10.0.0.0\c$\Database\" + "file.dbf__");
}
else if (!File.Exists(@"\\10.0.0.0\c$\Database\" + "*.dbf"))
{
File.Move(@"\\10.0.0.0\c$\Database\tempFolder\" + "_file.dbf", @"\\10.0.0.0\c$\Database\" + "file.dbf");
}
}
private void OnElapsedTime(object source, ElapsedEventArgs e)
{
CopyFiles();
}
protected override void OnStop()
{
}
}
}尝试启动服务时会发生什么?服务是否正在运行?在services.msc中进行检查。启用日志记录。Windows事件查看器中是否有任何相关条目?您是否可以引入日志库来检查服务停止的位置?以及当您连接调试器并调试服务时会发生什么情况?去掉
try
/catch
块-服务没有连接控制台
,它通过隐藏任何异常来积极损害您诊断问题的尝试发生。