• .Net Core FileProvider


    详细介绍参照:https://www.cnblogs.com/artech/p/net-core-file-provider-02.html

    using Microsoft.Extensions.FileProviders;
    using Microsoft.Extensions.Primitives;
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Threading.Tasks;
    
    namespace DynamicRegister1
    {
        public class FileMoniter
        {
            public event EventHandler<EventArgs> FileChanged;//创建代理
            public FileMoniter()
            {
                IFileProvider fileProvider = new PhysicalFileProvider(@"D:	est");
                ChangeToken.OnChange(() => fileProvider.Watch("test.txt"), () =>
                {
    
                    if (FileChanged != null)
                    {
                        FileChanged.Invoke("11", null);
                    }
                    Console.WriteLine($"{DateTime.Now}_");
                });
    
                // 注册2个代理,监听
                FileChanged += Change;
                FileChanged += Change1;
            }
            public void Change(Object sender, EventArgs args)
            {
                Console.WriteLine($"{DateTime.Now}_");
            }
            public void Change1(Object sender, EventArgs args)
            {
                Console.WriteLine($"{DateTime.Now}_");
            }
        }
    }
    

      监控FileProvider所在目录或者文件的变化,我们可以调用它的Watch方法,当时前提是对应的FileProvider提供了这样的监控功能。这个方法接受一个字符串类型的参数filter,我们可以利用这个参数指定一个表达式来筛选需要监控的目标目录或文件。就目前预定义的这几个FileProvider来说,只有PhysicalFileProvider提供针对文件的监控功能。对于PhysicalFileProvider来说,它会委托一个FileSystemWatcher对象来完成最终的文件监控任务。在指定删选表达式的时候,我们可以指定需要被监控的某个具体目录或者文件路径,也可以采用下表所示的通配符“*”。

    Filter

    Description

    foobar/data.txt

    存储在目录foobar下的文件data.txt。

    foobar/*.txt

    存储在目录foobar下的所有.txt文件。

    foobar/*.*

    存储在目录foobar下的所有文件。

    foobar//*.*

    存储在目录foobar的所有子目录下的所有文件。

  • 相关阅读:
    python学习6—数据类型之集合与字符串格式化
    python学习5—一些关于基本数据结构的练习题
    21-python-time,random模块的应用
    20-python-装饰器⭐
    19-python-迭代器、生成器
    18-python-文件的操作
    17-python-主要内置函数
    16-python-map、filter函数
    15-python-局部变量全局变量
    14-python-函数
  • 原文地址:https://www.cnblogs.com/hnzheng/p/12713945.html
Copyright © 2020-2023  润新知