// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { #region Register Services services.AddCors(); services.AddControllers(); services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); services.AddHttpContextAccessor(); #endregion #region Configure Swagger services.ConfigureSwagger(); #endregion #region Configure json keys to class var appSettingsSection = Configuration.GetSection("AppSettings"); services.Configure <AppSettings>(appSettingsSection); //services.Configure<ConnectionStrings>(Configuration.GetSection("ConnectionStrings")); services.ConfigureJsonClass(Configuration); #endregion #region JWT Authentication var appSettings = appSettingsSection.Get <AppSettings>(); var key = Encoding.ASCII.GetBytes(appSettings.Secret); services.ConfigureJWT(key); #endregion #region Configure DI DIExtension.ConfigureDI(services); #endregion }
public void CanResolveDependencies() { var s = new ServiceCollection(); s.AddSingleton <FooDep>(); s.AddSingleton <BarDep>(); s.AddTransient <DiActor>(); var provider = s.BuildServiceProvider(); var resolver = new DependencyResolver(provider); var plugin = new DIExtension(resolver); var system = new ActorSystem(); system.Extensions.Register(plugin); var props = system.DI().PropsFor <DiActor>(); var actor = (DiActor)props.Producer(system); Assert.NotNull(props); Assert.NotNull(actor); Assert.NotNull(actor.Bar); Assert.NotNull(actor.Foo); }