60 lines
2.0 KiB
C#
60 lines
2.0 KiB
C#
using log4net.Config;
|
|
using log4net;
|
|
using Microsoft.Extensions.Configuration;
|
|
using System.Text;
|
|
using log4net.Repository;
|
|
|
|
namespace DataAcquisition
|
|
{
|
|
internal class Program
|
|
{
|
|
static ILoggerRepository LoggerRepository;
|
|
|
|
static ILog log;
|
|
|
|
static IConfigurationRoot configuration;
|
|
|
|
static async Task Main(string[] args)
|
|
{
|
|
LoggerRepository = LogManager.CreateRepository("DataAcquisition");
|
|
XmlConfigurator.ConfigureAndWatch(LoggerRepository, new FileInfo("App.config"));
|
|
log = LogManager.GetLogger(LoggerRepository.Name, typeof(Program));
|
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
|
|
|
// 授权示例 调用一次即可 call only once
|
|
if (!HslCommunication.Authorization.SetAuthorizationCode("d8868ab9-4494-4056-98c6-b669e2434e25"))
|
|
{
|
|
return;
|
|
}
|
|
|
|
configuration = new ConfigurationBuilder()
|
|
.SetBasePath(Directory.GetCurrentDirectory())
|
|
.AddJsonFile(path: "appsettings.json", optional: true, reloadOnChange: true)
|
|
.Build();
|
|
|
|
var connectionString = configuration.GetConnectionString("ConnectionString");
|
|
using (var collector = new ModbusDataCollector(connectionString))
|
|
{
|
|
// 订阅日志事件
|
|
collector.LogMessage += (sender, message) => { Console.WriteLine(message); log.Info(message); };
|
|
|
|
// 初始化并启动采集
|
|
await collector.InitializeAsync();
|
|
|
|
// 模拟运行一段时间后刷新配置
|
|
await Task.Delay(TimeSpan.FromMinutes(30));
|
|
Console.WriteLine("正在刷新设备配置...");
|
|
await collector.RefreshDevicesAsync();
|
|
|
|
Console.WriteLine("按任意键退出...");
|
|
Console.ReadKey();
|
|
}
|
|
|
|
//Console.WriteLine("启动服务");
|
|
//log.Info("启动服务");
|
|
|
|
//Console.ReadKey();
|
|
}
|
|
}
|
|
}
|