基于netcore配置框架的文件监控帮助类 XQX
2022/7/1 23:20:07
本文主要是介绍基于netcore配置框架的文件监控帮助类 XQX,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
/// <summary>
/// 基于netcore配置框架的文件监控帮助类 XQX
/// </summary>
public class FileWatchHelper<T>
{
private IConfiguration _configuration;
/// <summary>
/// 文件实体
/// </summary>
public T FileEntity = (T)Activator.CreateInstance(typeof(T));
/// <summary>
/// 构造方法
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="optional">文件是否可选</param>
/// <param name="reloadOnChange">是否热更新</param>
/// <param name="action">文件变化时触发的事件</param>
public FileWatchHelper(string path, Action action = null, bool optional = false, bool reloadOnChange = true)
{
var builder = new ConfigurationBuilder()
.AddJsonFile(path, optional: false, reloadOnChange: true);
_configuration = builder.Build();
//绑定实体
_configuration.Bind(FileEntity, BinderOptions => { BinderOptions.BindNonPublicProperties = true; });
#region 监听文件的改动
ChangeToken.OnChange(() => _configuration.GetReloadToken(), () =>
{
//重新绑定实体
_configuration.Bind(FileEntity, BinderOptions => { BinderOptions.BindNonPublicProperties = true; });
action?.Invoke();
});
#endregion
}
}
这篇关于基于netcore配置框架的文件监控帮助类 XQX的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-12-06使用Microsoft.Extensions.AI在.NET中生成嵌入向量
- 2024-11-18微软研究:RAG系统的四个层次提升理解与回答能力
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#