Beispiel #1
0
 /// <summary>
 /// Use the SqlStateProvider as StateProvider
 /// </summary>
 /// <typeparam name="TFile"></typeparam>
 /// <typeparam name="TMetadata"></typeparam>
 /// <typeparam name="TQueryFilter"></typeparam>
 /// <param name="host">The workerHost</param>
 /// <param name="connectionString">The SQL connectionString</param>
 public static void UseSqlStateProvider <TFile, TMetadata, TQueryFilter>
     (this WorkerHost <TFile, TMetadata, TQueryFilter> host, string connectionString)
     where TFile : class, IResource <TMetadata>
     where TMetadata : class, IResourceMetadata
     where TQueryFilter : class, new()
 {
     host.UseSqlStateProvider(new SqlStateProviderConfig {
         DbConnectionString = connectionString
     });
 }
Beispiel #2
0
        /// <summary>
        /// Use the SqlStateProvider as StateProvider
        /// </summary>
        /// <param name="host">The workerHost</param>
        /// <param name="config">The config</param>
        public static void UseSqlStateProvider <TFile, TMetadata, TQueryFilter>
            (this WorkerHost <TFile, TMetadata, TQueryFilter> host, ISqlStateProviderConfig config)
            where TFile : class, IResource <TMetadata>
            where TMetadata : class, IResourceMetadata
            where TQueryFilter : class, new()
        {
            NodaTimeDapperSqlServer.Setup();

            Dapper.SqlMapper.AddTypeMap(typeof(DateTime), DbType.DateTime2);
            Dapper.SqlMapper.AddTypeMap(typeof(DateTime?), DbType.DateTime2);

            host.UseStateProvider <SqlStateProvider>(r =>
            {
                r.Container.RegisterSingleton <IDbConnectionManager, ReliableSqlConnectionManager>();
                r.Container.RegisterInstance(config);
                r.OnBeforeStart += () => r.Container.GetInstance <SqlStateProvider>().EnsureTableAreCreated();
            });
        }
Beispiel #3
0
 internal Dependencies(WorkerHost <TResource, TMetadata, TQueryFilter> host)
 {
     _host = host;
 }