Beispiel #1
0
        // 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);
        }