在C#(.Net Core)中观看文件

问题描述 投票:0回答:1

我有一个需要文件监视的项目,我认为我已经覆盖了文件,但是文件系统事件的事件没有触发。

这是代码:

    static void Main(string[] args)
    {
        FileSystemWatcher fsw = new FileSystemWatcher();
        fsw.Path = args[0] != null ? args[0] : @"/files/";
        fsw.Created += Fs_Created;
        fsw.Changed += Fs_Changed;
        fsw.Deleted += Fs_Deleted;
        fsw.Renamed += Fs_Renamed;

        Console.WriteLine("Waiting for Files....");
        Console.WriteLine("(Press Any Key To Exit)");
        Console.ReadLine();
    }

    private static void Fs_Renamed(object sender, RenamedEventArgs e)
    {
        Console.WriteLine($"File {e.OldName} has been renamed to {e.Name}");
    }

    private static void Fs_Deleted(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine($"File {e.Name} has been deleted.");
    }

    private static void Fs_Changed(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine($"File {e.Name} Has Been Changed");
    }

    private static void Fs_Created(object sender, FileSystemEventArgs e)
    {
        Console.WriteLine($"File {e.Name} is new to the Directory");
    }
}

这只是为了得到示例,但问题是当fs事件发生时控制台中没有输出。更改,删除,重命名,创建,没有。

在.net核心中有什么不同吗?我看了三个不同的例子,都是相似的。我已经看到事件处理程序被调用实例化如下:fsw.Created += new FileSystemEventHandler(Fs_Created);

c# asp.net-core
1个回答
1
投票

你似乎错过了fsw.EnableRaisingEvents = true;

© www.soinside.com 2019 - 2024. All rights reserved.