本文整理汇总了C#中System.Data.Entity.Infrastructure.Interception.DbConnectionInterceptionContext类的典型用法代码示例。如果您正苦于以下问题:C# DbConnectionInterceptionContext类的具体用法?C# DbConnectionInterceptionContext怎么用?C# DbConnectionInterceptionContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DbConnectionInterceptionContext类属于System.Data.Entity.Infrastructure.Interception命名空间,在下文中一共展示了DbConnectionInterceptionContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Cloning_the_interception_context_preserves_contextual_information_but_not_mutable_state
public void Cloning_the_interception_context_preserves_contextual_information_but_not_mutable_state()
{
var objectContext = new ObjectContext();
var dbContext = DbContextMockHelper.CreateDbContext(objectContext);
var interceptionContext = new DbConnectionInterceptionContext<int>();
interceptionContext.Exception = new Exception("Cheez Whiz");
interceptionContext.Result = 23;
interceptionContext.UserState = "Red Windsor";
interceptionContext = interceptionContext
.WithDbContext(dbContext)
.WithObjectContext(objectContext)
.AsAsync();
Assert.Equal(new[] { objectContext }, interceptionContext.ObjectContexts);
Assert.Equal(new[] { dbContext }, interceptionContext.DbContexts);
Assert.True(interceptionContext.IsAsync);
Assert.Equal(0, interceptionContext.Result);
Assert.Equal(0, interceptionContext.OriginalResult);
Assert.Null(interceptionContext.Exception);
Assert.Null(interceptionContext.OriginalException);
Assert.False(interceptionContext.IsExecutionSuppressed);
Assert.Null(interceptionContext.UserState);
}
示例2: Closing
public void Closing(DbConnection connection, DbConnectionInterceptionContext interceptionContext)
{
var stats = ((SqlConnection)connection).RetrieveStatistics();
var bytesReceived = stats["BytesReceived"];
// TODO: Observe the database response size using the monitoring system of your choice.
}
示例3: Initially_has_no_state
public void Initially_has_no_state()
{
var interceptionContext = new DbConnectionInterceptionContext<int>();
Assert.Empty(interceptionContext.DbContexts);
Assert.Null(interceptionContext.Exception);
Assert.False(interceptionContext.IsAsync);
Assert.False(interceptionContext.IsExecutionSuppressed);
Assert.Empty(interceptionContext.ObjectContexts);
Assert.Null(interceptionContext.OriginalException);
Assert.Equal(0, interceptionContext.OriginalResult);
Assert.Equal(0, interceptionContext.Result);
Assert.Equal((TaskStatus)0, interceptionContext.TaskStatus);
Assert.Null(interceptionContext.UserState);
}
示例4: Dispose_executes_operation_and_dispatches_to_interceptors
public void Dispose_executes_operation_and_dispatches_to_interceptors()
{
var mockConnection = new Mock<DbConnection>();
var mockInterceptor = new Mock<IDbConnectionInterceptor>();
var dispatcher = new DbConnectionDispatcher();
var internalDispatcher = dispatcher.InternalDispatcher;
internalDispatcher.Add(mockInterceptor.Object);
var interceptionContext = new DbConnectionInterceptionContext();
dispatcher.Dispose(mockConnection.Object, interceptionContext);
mockConnection.Protected().Verify("Dispose", Times.Once(), ItExpr.IsAny<bool>());
mockInterceptor.Verify(m => m.Disposing(mockConnection.Object, It.IsAny<DbConnectionInterceptionContext>()), Times.Once());
mockInterceptor.Verify(m => m.Disposed(mockConnection.Object, It.IsAny<DbConnectionInterceptionContext>()), Times.Once());
}
示例5: OpenAsync_executes_operation_and_dispatches_to_interceptors
public void OpenAsync_executes_operation_and_dispatches_to_interceptors()
{
var mockConnection = new Mock<DbConnection>();
mockConnection.Setup(m => m.OpenAsync(It.IsAny<CancellationToken>())).Returns(() => Task.FromResult(true));
var mockInterceptor = new Mock<IDbConnectionInterceptor>();
var dispatcher = new DbConnectionDispatcher();
var internalDispatcher = dispatcher.InternalDispatcher;
internalDispatcher.Add(mockInterceptor.Object);
var interceptionContext = new DbConnectionInterceptionContext();
dispatcher.OpenAsync(mockConnection.Object, interceptionContext, CancellationToken.None).Wait();
mockConnection.Verify(m => m.OpenAsync(CancellationToken.None), Times.Once());
mockInterceptor.Verify(m => m.Opening(mockConnection.Object, It.IsAny<DbConnectionInterceptionContext>()), Times.Once());
mockInterceptor.Verify(m => m.Opened(mockConnection.Object, It.IsAny<DbConnectionInterceptionContext>()), Times.Once());
}
示例6: Disposed
public void Disposed(DbConnection connection, DbConnectionInterceptionContext interceptionContext)
{
}
示例7: Opened_logs_canceled
public void Opened_logs_canceled()
{
var writer = new StringWriter();
var interceptionContext = new DbConnectionInterceptionContext().AsAsync();
interceptionContext.MutableData.TaskStatus = TaskStatus.Canceled;
new DatabaseLogFormatter(writer.Write).Opened(new Mock<DbConnection>().Object, interceptionContext);
Assert.True(_resourceVerifier.IsMatch("ConnectionOpenCanceledLog", GetSingleLine(writer), new AnyValueParameter(), ""));
}
示例8: ConnectionTimeoutGot
public void ConnectionTimeoutGot(DbConnection connection, DbConnectionInterceptionContext<int> interceptionContext)
{
}
示例9: DataSourceGot
public void DataSourceGot(DbConnection connection, DbConnectionInterceptionContext<string> interceptionContext)
{
}
示例10: StateGetting
/// <summary>
/// 在获取数据库连接状态动作执行前瞬间触发。
/// </summary>
/// <param name="connection"></param>
/// <param name="interceptionContext"></param>
public virtual void StateGetting(DbConnection connection, DbConnectionInterceptionContext<ConnectionState> interceptionContext)
{
}
示例11: Closing
public void Closing(DbConnection connection, DbConnectionInterceptionContext interceptionContext)
{
}
示例12: Opening
/// <summary>
/// 在打开数据库连接动作执行前瞬间触发。
/// </summary>
/// <param name="connection"></param>
/// <param name="interceptionContext"></param>
public virtual void Opening(DbConnection connection, DbConnectionInterceptionContext interceptionContext)
{
}
示例13: ServerVersionGetting
/// <summary>
/// 在获取数据库版本信息动作执行前瞬间触发。
/// </summary>
/// <param name="connection"></param>
/// <param name="interceptionContext"></param>
public virtual void ServerVersionGetting(DbConnection connection, DbConnectionInterceptionContext<string> interceptionContext)
{
}
示例14: DatabaseGot
/// <summary>
/// 在获取数据库名称动作完成后瞬间触发。
/// </summary>
/// <param name="connection"></param>
/// <param name="interceptionContext"></param>
public virtual void DatabaseGot(DbConnection connection, DbConnectionInterceptionContext<string> interceptionContext)
{
}
示例15: DataSourceGetting
/// <summary>
/// 在获取 数据源服务器名称/IP 名称动作执行前瞬间触发。
/// </summary>
/// <param name="connection"></param>
/// <param name="interceptionContext"></param>
public virtual void DataSourceGetting(DbConnection connection, DbConnectionInterceptionContext<string> interceptionContext)
{
}