我有一个Windows服务,该服务读取.csv文件,解析它们的内容并将其存储在数据库中,然后将文件移到新位置进行存储,因此不会对其进行重新处理。我已将此服务设置为作为控制台应用程序在本地以交互模式运行,因此,当我在调试模式下对其进行测试时,一切都可以正常运行。文件已被读取并移走。
但是,当我在服务器上启动该服务时,它将运行...并且什么也没有发生。文件不会读入数据库,并且不会移动任何内容。下面是他正在做的繁重的代码,已经过了一些消毒。
private void ImportFiles()
{
try
{
var directory = new DirectoryInfo("\\\\server\\vol2\\Accounting\\Public\\files to import");
var processedFilesDirectory = new DirectoryInfo("\\\\server\\vol2\\Accounting\\Public\\files to import\\Processed Files");
var directories = directory.GetDirectories();
foreach (var directoryInfo in directories)
{
if (directoryInfo.Name != "Processed Files" || directoryInfo.Name != "ErrorLog")
{
var files = directoryInfo.GetFiles();
foreach (var fileInfo in files)
{
var Lines = File.ReadLines(fileInfo.FullName);
var csv = from line in Lines select (line.Split(',')).ToArray();
var entriesToImport = BuildFileEntries(csv);
SaveNewEntries(entriesToImport);
File.Move(fileInfo.FullName, processedFilesDirectory + "\\" + fileInfo.Name);
}
}
}
}
catch (Exception e)
{
logger.LogErrors(e);
}
}
服务器报告该服务正在运行,并且没有生成任何错误。