ConfigurationModule.cs 766 B

12345678910111213141516171819202122
  1. using Microsoft.Extensions.Configuration;
  2. using Ninject.Modules;
  3. using System;
  4. using System.IO;
  5. using System.Reflection;
  6. namespace CustomHostingDemo
  7. {
  8. public class ConfigurationModule : NinjectModule
  9. {
  10. public override void Load()
  11. {
  12. var config = new ConfigurationBuilder()
  13. .SetBasePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location))
  14. .AddJsonFile("appsettings.json", optional: true, reloadOnChange: false)
  15. .AddJsonFile(Path.Combine(Environment.GetEnvironmentVariable("USERPROFILE"), "custom-demo.json"), optional: true, reloadOnChange: false)
  16. .Build();
  17. Bind<IConfiguration>().ToConstant(config).InSingletonScope();
  18. }
  19. }
  20. }