Program.cs 2.5 KB

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