private void InitializeContainer() { // Add application services. For instance: // _container.Register<ICommandBus, CommandBus>(Lifestyle.Singleton); FrameworkConfigurator.WireUp(_container, false, typeof(VehicleAppService).Assembly, typeof(GetVehicleCurrentPositionQuery).Assembly); AppServiceConfigurator.WireUp(_container); _container.Register <ICurrentUserService, CurrentUserService>(); _container.Register <IHttpContextAccessor, HttpContextAccessor>(); _container.Register <IDataSeeder, DataSeeder>(); //options.UseSqlServer( // configuration.GetConnectionString("FRIQuery"), // b => b.MigrationsAssembly(typeof(VehicleDbContext).Assembly.FullName))); //var reg = Lifestyle.Scoped.CreateRegistration(() => //{ // return new VehicleDbContext(new DbContextOptionsBuilder<VehicleDbContext>().UseSqlServer(_configuration.GetConnectionString("FRIQuery")).Options); //}, _container); var reg = Lifestyle.Scoped.CreateRegistration(() => { return(new VehicleDbContext(new DbContextOptionsBuilder <VehicleDbContext>().UseSqlServer(_appSettings.ConnectionStrings.ConnectionString, x => x.UseNetTopologySuite()).Options)); }, _container); _container.AddRegistration <IDbContext>(reg); //_container.Register<IDbContext>(() => //{ // return new VehicleDbContext(new DbContextOptionsBuilder<VehicleDbContext>().UseSqlServer(_configuration.GetConnectionString("FRIQuery")).Options); //}); }
public static FrameworkConfigurator UseServiceCollection( this FrameworkConfigurator configurator, IServiceCollection services) { var wrapper = new ServiceCollectionWrapper(services); return(configurator.SetDependencyFramework(wrapper)); }
public static FrameworkConfigurator UseJsonSerializers(this FrameworkConfigurator configurator) { configurator.RegisterSingelton <ICommandSerializer, JsonCommandSerializer>(); configurator.RegisterSingelton <IEventSerializer, JsonEventSerializer>(); configurator.RegisterSingelton <ISnapshotSerializer, JsonSnapshotSerializer>(); return(configurator); }
private static FrameworkConfigurator RegisterMigrationAction(this FrameworkConfigurator configurator) { return(configurator.RegisterInitializationAction(async resolver => { var factory = resolver.Resolve <IFrameworkContextFactory>(); using (var context = await factory.CreateContext()) { context.Migrate(); } })); }
public static FrameworkConfigurator UseDefaultStores(this FrameworkConfigurator configurator) { configurator.RegisterTransientType <IEventStore, EventStore>(); configurator.RegisterTransientType <ISessionStore, SessionStore>(); configurator.RegisterTransientType <ISnapshotStore, SnapshotStore>(); // Todo: Select flavor configurator.RegisterTransientType <IEventHandlerStateStore, EventHandlerStateStore>(); configurator.RegisterSingelton <IDataStoreConnectionFactory, DataStoreConnectionFactory>(); configurator.RegisterSingelton <IFrameworkContextFactory, DataStoreConnectionFactory>(); // Todo: EventHandler state store return(configurator); }
public static FrameworkConfigurator UseScopedContext <TContextInterface>( this FrameworkConfigurator configurator, Func <DbContextOptions, TContextInterface> factoryMethod) where TContextInterface : IScopedContex { configurator.RegisterSingelton < ISessionScopedContextFactory <TContextInterface>, SessionScopedContextFactory <TContextInterface> >(); configurator.RegisterInitializationAction(async resolver => { var factory = resolver.Resolve <ISessionScopedContextFactory <TContextInterface> >(); factory.Initialize(factoryMethod); }); return(configurator); }
static void Main(string[] args) { string conStr = ConfigurationManager.ConnectionStrings["FRI"].ToString(); container = new Container(); container.Options.DefaultScopedLifestyle = new AsyncScopedLifestyle(); FrameworkConfigurator.WireUp(container, false, typeof(LoanAppService).Assembly, typeof(CreateLoanCommand).Assembly); AppServiceConfigurator.WireUp(container); //var mydb = new FRIDbContext(conStr); //mydb.Database.Migrate(); var host = new WebHostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .UseKestrel() .UseStartup <Startup>() .UseUrls("http://localhost:5005/") .Build(); host.Run(); }
private void InitializeContainer() { // Add application services. For instance: // _container.Register<ICommandBus, CommandBus>(Lifestyle.Singleton); FrameworkConfigurator.WireUp(_container, false, typeof(LoanAppService).Assembly, typeof(CreateLoanCommand).Assembly); AppServiceConfigurator.WireUp(_container); // options.UseSqlServer( //// configuration.GetConnectionString("FRIQuery"), //// b => b.MigrationsAssembly(typeof(FRIDbContext).Assembly.FullName))); var reg = Lifestyle.Scoped.CreateRegistration(() => { return(new FRIDbContext(new DbContextOptionsBuilder <FRIDbContext>().UseSqlServer(_configuration.GetConnectionString("FRIQuery")).Options)); }, _container); _container.AddRegistration <IDbContext>(reg); //_container.Register<IDbContext>(() => //{ // return new FRIDbContext(new DbContextOptionsBuilder<FRIDbContext>().UseSqlServer(_configuration.GetConnectionString("FRIQuery")).Options); //}); }
// Snapshot strategy public static FrameworkConfigurator UseSnapshotNoneStrategy(this FrameworkConfigurator configurator) { configurator.RegisterSingelton <ISnapshotStrategy, SnapshotNoneStrategy>(); return(configurator); }
// Locking public static FrameworkConfigurator SetLockingStrategy(this FrameworkConfigurator configurator, LockingStrategy lockingStrategy) { throw new NotSupportedException("Not yet supported."); return(configurator); }
public static FrameworkConfigurator UseSnapshotOnEventCountStrategy(this FrameworkConfigurator configurator, int eventCount = 50) { configurator.AddConfigurationValue(SnapshotOnEventCountStrategy.ConfigurationKey, eventCount); configurator.RegisterSingelton <ISnapshotStrategy, SnapshotOnEventCountStrategy>(); return(configurator); }
private static FrameworkConfigurator UseProvider(this FrameworkConfigurator configurator, string connectionString, ProviderType providerType) { configurator.AddConfigurationValue(DataStoreConnectionFactory.EFCoreConnectionStringKey, connectionString); configurator.AddConfigurationValue(DataStoreConnectionFactory.ProviderTypeKey, providerType); return(RegisterMigrationAction(configurator)); }
public static FrameworkConfigurator UseMySql(this FrameworkConfigurator configurator, string connectionString) { return(UseProvider(configurator, connectionString, ProviderType.MySql)); }