首页 > 解决方案 > C# Windows 服务在本地工作,服务器说它正在运行,但没有任何反应,也没有引发错误

问题描述

我有一个 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);
    }
}

服务器报告该服务正在运行,并且没有生成错误。

标签: c#.netiowindows-services

解决方案


推荐阅读