public static TcpClient ConnectEx(this TcpClient client, IPAddress address, int port, int timeoutMillseconds = DefaultTimeoutMillseconds) { if (client == null) { throw new ArgumentNullException("client"); } if (timeoutMillseconds <= 0) { throw new ArgumentOutOfRangeException("timeoutMillseconds"); } ManualResetEvent timeoutEvent = new ManualResetEvent(false); var context = new TimeoutContext <TcpClient>(client, timeoutEvent); client.BeginConnect(address, port, TcpClientEndConnect, context); if (timeoutEvent.WaitOne(timeoutMillseconds, false)) { if (context.Success) { return(client); } else { throw context.Error; } } else { client.Close(); throw new TimeoutException(string.Format("连接 {0}:{1} 超时", address, port)); } }
public void Setting_CommandTimeout_to_infinite_sets_to_zero() { using var context = new TimeoutContext(); context.Database.SetCommandTimeout(Timeout.InfiniteTimeSpan); Assert.Equal(0, context.Database.GetCommandTimeout()); }
public void Setting_CommandTimeout_to_negative_value_throws() { Assert.Throws <InvalidOperationException>( () => new DbContextOptionsBuilder().UseSqlServer( "No=LoveyDovey", b => b.CommandTimeout(-55))); using (var context = new TimeoutContext()) { Assert.Null(context.Database.GetCommandTimeout()); Assert.Throws <ArgumentException>( () => context.Database.SetCommandTimeout(-3)); Assert.Throws <ArgumentException>( () => context.Database.SetCommandTimeout(TimeSpan.FromSeconds(-3))); Assert.Throws <ArgumentException>( () => context.Database.SetCommandTimeout(-99)); Assert.Throws <ArgumentException>( () => context.Database.SetCommandTimeout(TimeSpan.FromSeconds(-99))); Assert.Throws <ArgumentException>( () => context.Database.SetCommandTimeout(TimeSpan.FromSeconds(uint.MaxValue))); } }
public void Default_timeout_is_used_if_none_is_set() { using (var context = new TimeoutContext()) { context.Time.Load(); Assert.Equal("30", GetLoggedTimeout()); } }
public void Default_timeout_is_used_if_none_is_set() { using (var context = new TimeoutContext()) { context.Time.Load(); Assert.Equal("30", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_generic_Database_SqlQuery() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.SqlQuery <SomeTime>("select * from SomeTimes").ToList <SomeTime>(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_async_Find() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Time.FindAsync(0).Wait(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_queries() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Time.Load(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_explicit_loading() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Entry(context.Space.Attach(context.Space.Create())).Collection(e => e.Time).Load(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_queries() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Time.Load(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_lazy_loading() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; var _ = context.Space.Attach(context.Space.Create()).Time; Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_lazy_loading() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; var _ = context.Space.Attach(context.Space.Create()).Time; Assert.Equal("66", GetLoggedTimeout()); } }
public void CommandTimeout_throws_for_negative_values() { using (var context = new TimeoutContext()) { Assert.Equal( Strings.ObjectContext_InvalidCommandTimeout, Assert.Throws <ArgumentException>( () => context.Database.CommandTimeout = -1).Message); } }
public void DbContext_timeout_is_used_for_Database_Delete() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.Delete(); Assert.Equal("66", GetLoggedDdlTimeout("DbDeleteDatabase")); } }
public void DbContext_timeout_is_used_for_async_non_generic_Database_SqlQuery() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.SqlQuery(typeof(SomeTime), "select * from SomeTimes").ToListAsync().Wait(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_Database_CompatibleWithModel() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.CompatibleWithModel(throwIfNoMetadata: false); Assert.True(GetAllLoggedTimeouts().Any()); Assert.True(GetAllLoggedTimeouts().All(t => t == "66")); } }
public void Default_value_for_CommandTimeout_is_null_and_can_be_changed_including_setting_to_null() { using (var context = new TimeoutContext()) { Assert.Null(context.Database.GetCommandTimeout()); context.Database.SetCommandTimeout(77); Assert.Equal(77, context.Database.GetCommandTimeout()); context.Database.SetCommandTimeout(null); Assert.Null(context.Database.GetCommandTimeout()); } }
public void Default_value_for_CommandTimeout_is_null_and_can_be_changed_including_setting_to_null() { using (var context = new TimeoutContext()) { Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); context.Database.AsRelational().Connection.CommandTimeout = 77; Assert.Equal(77, context.Database.AsRelational().Connection.CommandTimeout); context.Database.AsRelational().Connection.CommandTimeout = null; Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); } }
public void Default_value_for_CommandTimeout_is_null_and_can_be_changed_including_setting_to_null() { using (var context = new TimeoutContext()) { Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); context.Database.AsRelational().Connection.CommandTimeout = 77; Assert.Equal(77, context.Database.AsRelational().Connection.CommandTimeout); context.Database.AsRelational().Connection.CommandTimeout = null; Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); } }
public TimeoutTests() { WrappingAdoNetProvider<SqlClientFactory>.WrapProviders(); using (var context = new TimeoutContext()) { context.Database.Initialize(force: false); context.Database.CreateIfNotExists(); } _log = WrappingAdoNetProvider<SqlClientFactory>.Instance.Log; _log.Clear(); }
public TimeoutTests() { WrappingAdoNetProvider <SqlClientFactory> .WrapProviders(); using (var context = new TimeoutContext()) { context.Database.Initialize(force: false); context.Database.CreateIfNotExists(); } _log = WrappingAdoNetProvider <SqlClientFactory> .Instance.Log; _log.Clear(); }
public void Default_value_for_CommandTimeout_is_null_and_can_be_changed_including_setting_to_null() { using (var context = new TimeoutContext()) { Assert.Null(context.Database.GetCommandTimeout()); context.Database.SetCommandTimeout(77); Assert.Equal(77, context.Database.GetCommandTimeout()); context.Database.SetCommandTimeout(null); Assert.Null(context.Database.GetCommandTimeout()); } }
public void CommandTimeout_can_be_set_in_constructor_and_changed_on_DbContext_without_triggering_initialization() { using (var context = new TimeoutContext(77)) { Assert.Equal(77, context.Database.CommandTimeout); Assert.Null(((LazyInternalContext)context.InternalContext).ObjectContextInUse); context.Database.CommandTimeout = 88; Assert.Equal(88, context.Database.CommandTimeout); Assert.Null(((LazyInternalContext)context.InternalContext).ObjectContextInUse); Assert.Equal(88, ((IObjectContextAdapter)context).ObjectContext.CommandTimeout); } }
public void DbContext_timeout_is_used_for_async_Database_ExecuteSqlCommand() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Database.ExecuteSqlCommandAsync("update SomeTimes set SpaceId = 1 where Id = 1").Wait(); } Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_database_initialization() { using (var context = new TimeoutContext()) { context.Database.Delete(); _log.Clear(); context.Database.CommandTimeout = 66; context.Database.Initialize(force: true); Assert.True(GetAllLoggedTimeouts().Any()); Assert.True(GetAllLoggedTimeouts().All(t => t == "66")); } }
public void DbContext_timeout_is_used_for_Database_CreateIfNotExists() { using (var context = new TimeoutContext()) { context.Database.Delete(); _log.Clear(); context.Database.CommandTimeout = 66; context.Database.CreateIfNotExists(); Assert.Equal("66", GetLoggedDdlTimeout("DbCreateDatabase")); Assert.True(GetAllLoggedTimeouts().All(t => t == "66")); } }
public void DbContext_timeout_is_used_for_updates() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Space.Add(new SomeSpace()); context.SaveChanges(); } Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_updates() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Space.Add(new SomeSpace()); context.SaveChanges(); } Assert.Equal("66", GetLoggedTimeout()); } }
public void Setting_CommandTimeout_to_negative_value_throws() { var optionsBuilder = new EntityOptionsBuilder().UseSqlServer("No=LoveyDovey"); Assert.Throws <InvalidOperationException>(() => optionsBuilder.CommandTimeout(-55)); using (var context = new TimeoutContext()) { Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); Assert.Throws <ArgumentException>( () => context.Database.AsRelational().Connection.CommandTimeout = -3); Assert.Throws <ArgumentException>( () => context.Database.AsRelational().Connection.CommandTimeout = -99); } }
public void Setting_CommandTimeout_to_negative_value_throws() { var options = new SqlServerDbContextOptions(new DbContextOptions()); Assert.Throws <InvalidOperationException>(() => options.CommandTimeout(-55)); using (var context = new TimeoutContext()) { Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); Assert.Throws <ArgumentException>( () => context.Database.AsRelational().Connection.CommandTimeout = -3); Assert.Throws <ArgumentException>( () => context.Database.AsRelational().Connection.CommandTimeout = -99); } }
public void Setting_CommandTimeout_to_negative_value_throws() { var optionsBuilder = new EntityOptionsBuilder().UseSqlServer("No=LoveyDovey"); Assert.Throws<InvalidOperationException>(() => optionsBuilder.CommandTimeout(-55)); using (var context = new TimeoutContext()) { Assert.Null(context.Database.AsRelational().Connection.CommandTimeout); Assert.Throws<ArgumentException>( () => context.Database.AsRelational().Connection.CommandTimeout = -3); Assert.Throws<ArgumentException>( () => context.Database.AsRelational().Connection.CommandTimeout = -99); } }
public void DbContext_timeout_is_used_for_Database_ExecuteSqlCommand() { ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Database.ExecuteSqlCommand("update SomeTimes set SpaceId = 1 where Id = 1"); } Assert.Equal("66", GetLoggedTimeout()); } }); }
public void Setting_CommandTimeout_to_negative_value_throws() { Assert.Throws<InvalidOperationException>( () => new DbContextOptionsBuilder().UseSqlServer( "No=LoveyDovey", b => b.CommandTimeout(-55))); using (var context = new TimeoutContext()) { Assert.Null(context.Database.GetCommandTimeout()); Assert.Throws<ArgumentException>( () => context.Database.SetCommandTimeout(-3)); Assert.Throws<ArgumentException>( () => context.Database.SetCommandTimeout(-99)); } }
public void DbContext_timeout_is_used_for_updates() { ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Space.Add(new SomeSpace()); context.SaveChanges(); } Assert.Equal("66", GetLoggedTimeout()); } }); }
public void DbContext_timeout_is_used_for_updates() { ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Space.Add(new SomeSpace()); context.SaveChanges(); } Assert.Equal("66", GetLoggedTimeout()); } }); }
public void Command_timeout_can_be_inherited_from_ObjectContext_and_can_be_changed_from_either_context() { using (var outerContext = new TimeoutContext()) { var objectContext = ((IObjectContextAdapter)outerContext).ObjectContext; objectContext.CommandTimeout = 77; using (var context = new TimeoutContext(objectContext)) { Assert.Equal(77, context.Database.CommandTimeout); context.Database.CommandTimeout = 88; Assert.Equal(88, context.Database.CommandTimeout); Assert.Equal(88, objectContext.CommandTimeout); objectContext.CommandTimeout = 99; Assert.Equal(99, context.Database.CommandTimeout); Assert.Equal(99, objectContext.CommandTimeout); } } }
public void DbContext_timeout_is_used_for_Database_CreateIfNotExists() { using (var context = new TimeoutContext()) { context.Database.Delete(); _log.Clear(); context.Database.CommandTimeout = 66; context.Database.CreateIfNotExists(); Assert.Equal("66", GetLoggedDdlTimeout("DbCreateDatabase")); Assert.True(GetAllLoggedTimeouts().All(t => t == "66")); } }
public void DbContext_timeout_is_used_for_Database_ExecuteSqlCommand() { ExtendedSqlAzureExecutionStrategy.ExecuteNew( () => { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Database.ExecuteSqlCommand("update SomeTimes set SpaceId = 1 where Id = 1"); } Assert.Equal("66", GetLoggedTimeout()); } }); }
public void CommandTimeout_can_be_set_in_constructor_and_changed_on_DbContext_without_triggering_initialization() { using (var context = new TimeoutContext(77)) { Assert.Equal(77, context.Database.CommandTimeout); Assert.Null(((LazyInternalContext)context.InternalContext).ObjectContextInUse); context.Database.CommandTimeout = 88; Assert.Equal(88, context.Database.CommandTimeout); Assert.Null(((LazyInternalContext)context.InternalContext).ObjectContextInUse); Assert.Equal(88, ((IObjectContextAdapter)context).ObjectContext.CommandTimeout); } }
public void CommandTimeout_throws_for_negative_values() { using (var context = new TimeoutContext()) { Assert.Equal( Strings.ObjectContext_InvalidCommandTimeout, Assert.Throws<ArgumentException>( () => context.Database.CommandTimeout = -1).Message); } }
public void Command_timeout_can_be_inherited_from_ObjectContext_and_can_be_changed_from_either_context() { using (var outerContext = new TimeoutContext()) { var objectContext = ((IObjectContextAdapter)outerContext).ObjectContext; objectContext.CommandTimeout = 77; using (var context = new TimeoutContext(objectContext)) { Assert.Equal(77, context.Database.CommandTimeout); context.Database.CommandTimeout = 88; Assert.Equal(88, context.Database.CommandTimeout); Assert.Equal(88, objectContext.CommandTimeout); objectContext.CommandTimeout = 99; Assert.Equal(99, context.Database.CommandTimeout); Assert.Equal(99, objectContext.CommandTimeout); } } }
public void DbContext_timeout_is_used_for_generic_Database_SqlQuery() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.SqlQuery<SomeTime>("select * from SomeTimes").ToList<SomeTime>(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_Database_CompatibleWithModel() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.CompatibleWithModel(throwIfNoMetadata: false); Assert.True(GetAllLoggedTimeouts().Any()); Assert.True(GetAllLoggedTimeouts().All(t => t == "66")); } }
public void DbContext_timeout_is_used_for_explicit_loading() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Entry(context.Space.Attach(context.Space.Create())).Collection(e => e.Time).Load(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_Database_Delete() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.Delete(); Assert.Equal("66", GetLoggedDdlTimeout("DbDeleteDatabase")); } }
public void DbContext_timeout_is_used_for_database_initialization() { using (var context = new TimeoutContext()) { context.Database.Delete(); _log.Clear(); context.Database.CommandTimeout = 66; context.Database.Initialize(force: true); Assert.True(GetAllLoggedTimeouts().Any()); Assert.True(GetAllLoggedTimeouts().All(t => t == "66")); } }
public void DbContext_timeout_is_used_for_async_Find() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Time.FindAsync(0).Wait(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_async_non_generic_Database_SqlQuery() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; context.Database.SqlQuery(typeof(SomeTime), "select * from SomeTimes").ToListAsync().Wait(); Assert.Equal("66", GetLoggedTimeout()); } }
public void DbContext_timeout_is_used_for_async_Database_ExecuteSqlCommand() { using (var context = new TimeoutContext()) { context.Database.CommandTimeout = 66; using (context.Database.BeginTransaction()) { context.Database.ExecuteSqlCommandAsync("update SomeTimes set SpaceId = 1 where Id = 1").Wait(); } Assert.Equal("66", GetLoggedTimeout()); } }