static async Task Main() { Console.Title = "Samples.SqlServer.MultiInstanceBridge"; #region BridgeConfiguration var bridgeConfig = Bridge.Between <SqlServerTransport>("Bridge-Sender", t => t.ConnectionString(SenderConnectionString)) .And <SqlServerTransport>("Bridge-Receiver", t => t.ConnectionString(ReceiverConnectionString)); bridgeConfig.AutoCreateQueues(); bridgeConfig.UseSubscriptionPersistece <SqlPersistence>((e, p) => { p.ConnectionBuilder(() => new SqlConnection(BridgeConnectionString)); p.SqlDialect <SqlDialect.MsSqlServer>(); p.SubscriptionSettings().DisableCache(); }); #endregion SqlHelper.EnsureDatabaseExists(SenderConnectionString); SqlHelper.EnsureDatabaseExists(ReceiverConnectionString); SqlHelper.EnsureDatabaseExists(BridgeConnectionString); var bridge = bridgeConfig.Create(); await bridge.Start().ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await bridge.Stop().ConfigureAwait(false); }
static async Task Main() { Console.Title = "Samples.SqlServer.MultiInstanceBridge"; #region BridgeConfiguration var bridgeConfig = Bridge.Between <SqlServerTransport>("Bridge-Sender", t => t.ConnectionString(SenderConnectionString)) .And <SqlServerTransport>("Bridge-Receiver", t => t.ConnectionString(ReceiverConnectionString)); bridgeConfig.AutoCreateQueues(); var storage = new SqlSubscriptionStorage( connectionBuilder: () => new SqlConnection(BridgeConnectionString), tablePrefix: "", sqlDialect: new SqlDialect.MsSqlServer(), cacheFor: null); //Ensures all required schema objects are created await storage.Install().ConfigureAwait(false); bridgeConfig.UseSubscriptionPersistence(storage); #endregion SqlHelper.EnsureDatabaseExists(SenderConnectionString); SqlHelper.EnsureDatabaseExists(ReceiverConnectionString); SqlHelper.EnsureDatabaseExists(BridgeConnectionString); var bridge = bridgeConfig.Create(); await bridge.Start().ConfigureAwait(false); Console.WriteLine("Press any key to exit"); Console.ReadKey(); await bridge.Stop().ConfigureAwait(false); }