Program.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using System.Reflection;
  2. using DAL;
  3. using HZY.Framework.DependencyInjection;
  4. using Microsoft.Extensions.Configuration;
  5. using Microsoft.Extensions.DependencyInjection;
  6. using Microsoft.Extensions.Logging;
  7. using Model;
  8. using NLog;
  9. using NLog.Extensions.Logging;
  10. using SqlSugar;
  11. namespace Scada
  12. {
  13. internal static class Program
  14. {
  15. /// <summary>
  16. /// The main entry point for the application.
  17. /// </summary>
  18. [STAThread]
  19. static void Main()
  20. {
  21. var services = new ServiceCollection();
  22. ConfigureServices(services);
  23. ApplicationConfiguration.Initialize();
  24. var serviceProvider = services.BuildServiceProvider();
  25. Globals.ServiceProvider = serviceProvider;
  26. var frmMain = serviceProvider.GetRequiredService<FormMain>();
  27. var db = serviceProvider.GetRequiredService<ISqlSugarClient>();
  28. db.CodeFirst.SetStringDefaultLength(200)
  29. .InitTables(typeof(AuthEntity),typeof(DataEntity), typeof(RecipeEntity), typeof(UserEntity));
  30. Application.Run(frmMain);
  31. }
  32. private static void ConfigureServices(ServiceCollection services)
  33. {
  34. services.AddDependencyInjection(options =>
  35. {
  36. options.Assemblies = new[] { typeof(Program).Assembly };
  37. });
  38. IConfigurationBuilder cfgBuilder = new ConfigurationBuilder()
  39. .SetBasePath(Environment.CurrentDirectory)
  40. .AddJsonFile("appsettings.json");
  41. //构建json配置
  42. IConfiguration configuration = cfgBuilder.Build();
  43. //注入json单例对象
  44. services.AddSingleton<IConfiguration>(configuration)
  45. .AddLogging(loggerBuilder => {
  46. loggerBuilder.ClearProviders();//清除其他日志的提供者
  47. loggerBuilder.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace);//设置等级
  48. loggerBuilder.AddNLog();
  49. });
  50. DbType dbType = Enum.Parse<DbType>(configuration["DbContexts:DbType"]);
  51. string connnectString = configuration[$"DbContexts:{dbType}:ConnectionString"];
  52. services.AddSqlSugarSetup(dbType, connnectString);
  53. //获取NLog配置信息
  54. var nlogConifg = configuration.GetSection("NLog");
  55. //设置Nlog配置
  56. LogManager.Configuration = new NLogLoggingConfiguration(nlogConifg);
  57. }
  58. }
  59. }