private Task <DataSessionState> BeginSession(TransactionContext transactionContext) { if (transactionContext == null) { throw new ArgumentNullException(nameof(transactionContext)); } return(Task.Run( () => { var state = new DataSessionState(); WriteOperationTrace(state, "beginSession"); WriteOperationTrace(state, "createConnection"); state.Connection = new MockConnection { ConnectionString = $"MockDataSource.Id={this.Id},TransactionGroupName={this.TransactionGroupName}" }; WriteOperationTrace(state, "openConnection"); state.Connection.Open(); if (transactionContext.Affinity != TransactionContextAffinity.NotSupported) { WriteOperationTrace(state, "beginTransaction"); state.Transaction = state.Connection.BeginTransaction(transactionContext.IsolationLevel); } return state; })); }
private Task<DataSessionState> BeginSession(TransactionContext transactionContext) { if (transactionContext == null) throw new ArgumentNullException(nameof(transactionContext)); return Task.Run( () => { var state = new DataSessionState(); WriteOperationTrace(state, "beginSession"); WriteOperationTrace(state, "createConnection"); state.Connection = new MockConnection { ConnectionString = $"MockDataSource.Id={this.Id},TransactionGroupName={this.TransactionGroupName}" }; WriteOperationTrace(state, "openConnection"); state.Connection.Open(); if (transactionContext.Affinity != TransactionContextAffinity.NotSupported) { WriteOperationTrace(state, "beginTransaction"); state.Transaction = state.Connection.BeginTransaction(transactionContext.IsolationLevel); } return state; }); }
private static void WriteOperationTrace(DataSessionState state, string operation) { Trace.WriteLine(string.Format("{0},{1},{2}", state.GetHashCode(), operation, Thread.CurrentThread.ManagedThreadId), "NLight.Tests.Unit.Transactions.MockDataSource.operations"); }