Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5354e83

Browse files
authored
Cleanup | SqlConnectionFactory <- DbConnectionFactory (#3435)
* Sort modifiers* Replace all usages of DbConnectionFactory with SqlConnectionFactory let's see how this goes...* Move member variables and constructor* Move properties over* Move pool clearing methods* Move Create*Connection methods over* Move CreateConnectionPoolGroupProviderInfo* Move QueuePool*ForRelease* Move TryGetConnection* Move CreateReplaceConnectionContinuation* Move TryGetConnectionCompletedContinuation* Move GetConnectionPool* Move GetConnectionPoolGroup* Move GetMetaDataFactory and PruneConnectionPoolGroups# Conflicts:#src/Microsoft.Data.SqlClient/src/Microsoft/Data/ProviderBase/DbConnectionFactory.cs* Move CompletedTask and merge FindConnectionOptions(and cleanup CreateMetaDataFactory)* Remove DbConnectionFactory* Make timer period times based on milliseconds instead of seconds* Fix reflection references to Db/SqlConnectionFactory* Addressing called out expression bodies* Address@mdaigle's comments* Unseal class, temporarily, just for@mdaigle
1 parent92ea063 commit5354e83

File tree

18 files changed

+846
-857
lines changed

18 files changed

+846
-857
lines changed

‎src/Microsoft.Data.SqlClient/netcore/src/Microsoft.Data.SqlClient.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,6 @@
9999
<CompileInclude="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionClosed.cs">
100100
<Link>Microsoft\Data\ProviderBase\DbConnectionClosed.cs</Link>
101101
</Compile>
102-
<CompileInclude="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionFactory.cs">
103-
<Link>Microsoft\Data\ProviderBase\DbConnectionFactory.cs</Link>
104-
</Compile>
105102
<CompileInclude="$(CommonSourceRoot)Microsoft\Data\SqlClient\ConnectionPool\ChannelDbConnectionPool.cs">
106103
<Link>Microsoft\Data\SqlClient\ConnectionPool\ChannelDbConnectionPool.cs</Link>
107104
</Compile>

‎src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnection.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1274,7 +1274,7 @@ public override void ChangeDatabase(string database)
12741274
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlConnection.xml' path='docs/members[@name="SqlConnection"]/ClearAllPools/*' />
12751275
publicstaticvoidClearAllPools()
12761276
{
1277-
SqlConnectionFactory.SingletonInstance.ClearAllPools();
1277+
SqlConnectionFactory.Instance.ClearAllPools();
12781278
}
12791279

12801280
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlConnection.xml' path='docs/members[@name="SqlConnection"]/ClearPool/*' />
@@ -1285,7 +1285,7 @@ public static void ClearPool(SqlConnection connection)
12851285
DbConnectionOptionsconnectionOptions=connection.UserConnectionOptions;
12861286
if(connectionOptions!=null)
12871287
{
1288-
SqlConnectionFactory.SingletonInstance.ClearPool(connection);
1288+
SqlConnectionFactory.Instance.ClearPool(connection);
12891289
}
12901290
}
12911291

@@ -2267,7 +2267,7 @@ public static void ChangePassword(string connectionString, string newPassword)
22672267

22682268
SqlConnectionPoolKeykey=newSqlConnectionPoolKey(connectionString,credential:null,accessToken:null,accessTokenCallback:null);
22692269

2270-
SqlConnectionStringconnectionOptions=SqlConnectionFactory.FindSqlConnectionOptions(key);
2270+
SqlConnectionStringconnectionOptions=SqlConnectionFactory.Instance.FindSqlConnectionOptions(key);
22712271
if(connectionOptions.IntegratedSecurity)
22722272
{
22732273
throwSQL.ChangePasswordConflictsWithSSPI();
@@ -2316,7 +2316,7 @@ public static void ChangePassword(string connectionString, SqlCredential credent
23162316

23172317
SqlConnectionPoolKeykey=newSqlConnectionPoolKey(connectionString,credential,accessToken:null,accessTokenCallback:null);
23182318

2319-
SqlConnectionStringconnectionOptions=SqlConnectionFactory.FindSqlConnectionOptions(key);
2319+
SqlConnectionStringconnectionOptions=SqlConnectionFactory.Instance.FindSqlConnectionOptions(key);
23202320

23212321
// Check for connection string values incompatible with SqlCredential
23222322
if(!string.IsNullOrEmpty(connectionOptions.UserID)||!string.IsNullOrEmpty(connectionOptions.Password))
@@ -2354,7 +2354,7 @@ private static void ChangePassword(string connectionString, SqlConnectionString
23542354
}
23552355
SqlConnectionPoolKeykey=newSqlConnectionPoolKey(connectionString,credential,accessToken:null,accessTokenCallback:null);
23562356

2357-
SqlConnectionFactory.SingletonInstance.ClearPool(key);
2357+
SqlConnectionFactory.Instance.ClearPool(key);
23582358
}
23592359

23602360
internalTask<T>RegisterForConnectionCloseNotification<T>(Task<T>outerTask,objectvalue,inttag)

‎src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlConnectionHelper.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ namespace Microsoft.Data.SqlClient
1717
{
1818
publicsealedpartialclassSqlConnection:DbConnection
1919
{
20-
privatestaticreadonlyDbConnectionFactorys_connectionFactory=SqlConnectionFactory.SingletonInstance;
20+
privatestaticreadonlySqlConnectionFactorys_connectionFactory=SqlConnectionFactory.Instance;
2121

2222
privateDbConnectionOptions_userConnectionOptions;
2323
privateDbConnectionPoolGroup_poolGroup;
@@ -42,7 +42,7 @@ internal int CloseCount
4242
}
4343
}
4444

45-
internalDbConnectionFactoryConnectionFactory
45+
internalSqlConnectionFactoryConnectionFactory
4646
{
4747
get
4848
{
@@ -156,9 +156,7 @@ override protected DbCommand CreateDbCommand()
156156
{
157157
using(TryEventScope.Create("<prov.DbConnectionHelper.CreateDbCommand|API> {0}",ObjectID))
158158
{
159-
DbCommandcommand=null;
160-
DbProviderFactoryproviderFactory=ConnectionFactory.ProviderFactory;
161-
command=providerFactory.CreateCommand();
159+
DbCommandcommand=SqlClientFactory.Instance.CreateCommand();
162160
command.Connection=this;
163161
returncommand;
164162
}

‎src/Microsoft.Data.SqlClient/netcore/src/Microsoft/Data/SqlClient/SqlInternalConnectionTds.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3078,9 +3078,13 @@ internal bool ThreadHasParserLockForClose
30783078
}
30793079
}
30803080

3081-
internaloverrideboolTryReplaceConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
3081+
internaloverrideboolTryReplaceConnection(
3082+
DbConnectionouterConnection,
3083+
SqlConnectionFactoryconnectionFactory,
3084+
TaskCompletionSource<DbConnectionInternal>retry,
3085+
DbConnectionOptionsuserOptions)
30823086
{
3083-
returnbase.TryOpenConnectionInternal(outerConnection,connectionFactory,retry,userOptions);
3087+
returnTryOpenConnectionInternal(outerConnection,connectionFactory,retry,userOptions);
30843088
}
30853089
}
30863090

‎src/Microsoft.Data.SqlClient/netfx/src/Microsoft.Data.SqlClient.csproj

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,9 +285,6 @@
285285
<CompileInclude="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionClosed.cs">
286286
<Link>Microsoft\Data\ProviderBase\DbConnectionClosed.cs</Link>
287287
</Compile>
288-
<CompileInclude="$(CommonSourceRoot)\Microsoft\Data\ProviderBase\DbConnectionFactory.cs">
289-
<Link>Microsoft\Data\ProviderBase\DbConnectionFactory.cs</Link>
290-
</Compile>
291288
<CompileInclude="$(CommonSourceRoot)Microsoft\Data\ProviderBase\DbConnectionInternal.cs">
292289
<Link>Microsoft\Data\ProviderBase\DbConnectionInternal.cs</Link>
293290
</Compile>

‎src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlConnection.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1268,7 +1268,7 @@ public override void ChangeDatabase(string database)
12681268
publicstaticvoidClearAllPools()
12691269
{
12701270
(newSqlClientPermission(PermissionState.Unrestricted)).Demand();
1271-
SqlConnectionFactory.SingletonInstance.ClearAllPools();
1271+
SqlConnectionFactory.Instance.ClearAllPools();
12721272
}
12731273

12741274
/// <include file='../../../../../../../doc/snippets/Microsoft.Data.SqlClient/SqlConnection.xml' path='docs/members[@name="SqlConnection"]/ClearPool/*' />
@@ -1280,7 +1280,7 @@ public static void ClearPool(SqlConnection connection)
12801280
if(connectionOptions!=null)
12811281
{
12821282
connectionOptions.DemandPermission();
1283-
SqlConnectionFactory.SingletonInstance.ClearPool(connection);
1283+
SqlConnectionFactory.Instance.ClearPool(connection);
12841284
}
12851285
}
12861286

@@ -2186,7 +2186,7 @@ public static void ChangePassword(string connectionString, string newPassword)
21862186

21872187
SqlConnectionPoolKeykey=newSqlConnectionPoolKey(connectionString,credential:null,accessToken:null,accessTokenCallback:null);
21882188

2189-
SqlConnectionStringconnectionOptions=SqlConnectionFactory.FindSqlConnectionOptions(key);
2189+
SqlConnectionStringconnectionOptions=SqlConnectionFactory.Instance.FindSqlConnectionOptions(key);
21902190
if(connectionOptions.IntegratedSecurity||connectionOptions.Authentication==SqlAuthenticationMethod.ActiveDirectoryIntegrated)
21912191
{
21922192
throwSQL.ChangePasswordConflictsWithSSPI();
@@ -2238,7 +2238,7 @@ public static void ChangePassword(string connectionString, SqlCredential credent
22382238

22392239
SqlConnectionPoolKeykey=newSqlConnectionPoolKey(connectionString,credential,accessToken:null,accessTokenCallback:null);
22402240

2241-
SqlConnectionStringconnectionOptions=SqlConnectionFactory.FindSqlConnectionOptions(key);
2241+
SqlConnectionStringconnectionOptions=SqlConnectionFactory.Instance.FindSqlConnectionOptions(key);
22422242

22432243
// Check for connection string values incompatible with SqlCredential
22442244
if(!string.IsNullOrEmpty(connectionOptions.UserID)||!string.IsNullOrEmpty(connectionOptions.Password))
@@ -2279,7 +2279,7 @@ private static void ChangePassword(string connectionString, SqlConnectionString
22792279
}
22802280
SqlConnectionPoolKeykey=newSqlConnectionPoolKey(connectionString,credential,accessToken:null,accessTokenCallback:null);
22812281

2282-
SqlConnectionFactory.SingletonInstance.ClearPool(key);
2282+
SqlConnectionFactory.Instance.ClearPool(key);
22832283
}
22842284

22852285
internalTask<T>RegisterForConnectionCloseNotification<T>(Task<T>outerTask,objectvalue,inttag)

‎src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlConnectionHelper.cs

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ namespace Microsoft.Data.SqlClient
1818
{
1919
publicsealedpartialclassSqlConnection:DbConnection
2020
{
21-
privatestaticreadonlyDbConnectionFactory_connectionFactory=SqlConnectionFactory.SingletonInstance;
21+
privatestaticreadonlySqlConnectionFactory_connectionFactory=SqlConnectionFactory.Instance;
2222
internalstaticreadonlySystem.Security.CodeAccessPermissionExecutePermission=SqlConnection.CreateExecutePermission();
2323

2424
privateDbConnectionOptions_userConnectionOptions;
@@ -69,7 +69,7 @@ internal int CloseCount
6969
}
7070
}
7171

72-
internalDbConnectionFactoryConnectionFactory
72+
internalSqlConnectionFactoryConnectionFactory
7373
{
7474
get
7575
{
@@ -203,17 +203,16 @@ override protected DbCommand CreateDbCommand()
203203
{
204204
using(TryEventScope.Create("<prov.DbConnectionHelper.CreateDbCommand|API> {0}",ObjectID))
205205
{
206-
DbProviderFactoryproviderFactory=ConnectionFactory.ProviderFactory;
207-
DbCommandcommand=providerFactory.CreateCommand();
206+
DbCommandcommand=SqlClientFactory.Instance.CreateCommand();
208207
command.Connection=this;
209208
returncommand;
210209
}
211210
}
212211

213212
privatestaticSystem.Security.CodeAccessPermissionCreateExecutePermission()
214213
{
215-
DBDataPermissionp=(DBDataPermission)SqlConnectionFactory.SingletonInstance.ProviderFactory.CreatePermission(System.Security.Permissions.PermissionState.None);
216-
p.Add(String.Empty,String.Empty,KeyRestrictionBehavior.AllowOnly);
214+
DBDataPermissionp=(DBDataPermission)SqlClientFactory.Instance.CreatePermission(System.Security.Permissions.PermissionState.None);
215+
p.Add(string.Empty,string.Empty,KeyRestrictionBehavior.AllowOnly);
217216
returnp;
218217
}
219218

‎src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/SqlClient/SqlInternalConnectionTds.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3110,9 +3110,13 @@ internal bool ThreadHasParserLockForClose
31103110
}
31113111
}
31123112

3113-
internaloverrideboolTryReplaceConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
3113+
internaloverrideboolTryReplaceConnection(
3114+
DbConnectionouterConnection,
3115+
SqlConnectionFactoryconnectionFactory,
3116+
TaskCompletionSource<DbConnectionInternal>retry,
3117+
DbConnectionOptionsuserOptions)
31143118
{
3115-
returnbase.TryOpenConnectionInternal(outerConnection,connectionFactory,retry,userOptions);
3119+
returnTryOpenConnectionInternal(outerConnection,connectionFactory,retry,userOptions);
31163120
}
31173121
}
31183122

‎src/Microsoft.Data.SqlClient/src/Microsoft/Data/Common/AdapterUtil.cs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,18 @@ internal static Exception ExceptionWithStackTrace(Exception e)
130130
}
131131
}
132132

133-
internalstaticTimerUnsafeCreateTimer(TimerCallbackcallback,objectstate,intdueTime,intperiod)
133+
internalstaticTimerUnsafeCreateTimer(
134+
TimerCallbackcallback,
135+
objectstate,
136+
intdueTimeMilliseconds,
137+
intperiodMilliseconds)=>
138+
UnsafeCreateTimer(
139+
callback,
140+
state,
141+
TimeSpan.FromMilliseconds(dueTimeMilliseconds),
142+
TimeSpan.FromMilliseconds(periodMilliseconds));
143+
144+
internalstaticTimerUnsafeCreateTimer(TimerCallbackcallback,objectstate,TimeSpandueTime,TimeSpanperiod)
134145
{
135146
// Don't capture the current ExecutionContext and its AsyncLocals onto
136147
// a global timer causing them to live forever
@@ -154,6 +165,7 @@ internal static Timer UnsafeCreateTimer(TimerCallback callback, object state, in
154165
}
155166
}
156167
}
168+
157169

158170
#region COM+ exceptions
159171
internalstaticArgumentExceptionArgument(stringerror)

‎src/Microsoft.Data.SqlClient/src/Microsoft/Data/ProviderBase/DbConnectionClosed.cs

Lines changed: 41 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
usingSystem.Threading.Tasks;
99
usingMicrosoft.Data.Common;
1010
usingMicrosoft.Data.Common.ConnectionString;
11+
usingMicrosoft.Data.SqlClient;
1112
usingMicrosoft.Data.SqlClient.ConnectionPool;
1213

1314
namespaceMicrosoft.Data.ProviderBase
@@ -27,7 +28,7 @@ protected DbConnectionClosed(ConnectionState state, bool hidePassword, bool allo
2728

2829
publicoverridevoidChangeDatabase(stringdatabase)=>throwADP.ClosedConnectionError();
2930

30-
internaloverridevoidCloseConnection(DbConnectionowningObject,DbConnectionFactoryconnectionFactory)
31+
internaloverridevoidCloseConnection(DbConnectionowningObject,SqlConnectionFactoryconnectionFactory)
3132
{
3233
// not much to do here...
3334
}
@@ -36,13 +37,24 @@ internal override void CloseConnection(DbConnection owningObject, DbConnectionFa
3637

3738
publicoverridevoidEnlistTransaction(System.Transactions.Transactiontransaction)=>throwADP.ClosedConnectionError();
3839

39-
protectedinternaloverrideDataTableGetSchema(DbConnectionFactoryfactory,DbConnectionPoolGrouppoolGroup,DbConnectionouterConnection,stringcollectionName,string[]restrictions)
40-
=>throwADP.ClosedConnectionError();
40+
protectedinternaloverrideDataTableGetSchema(
41+
SqlConnectionFactoryfactory,
42+
DbConnectionPoolGrouppoolGroup,
43+
DbConnectionouterConnection,
44+
stringcollectionName,
45+
string[]restrictions)
46+
{
47+
throwADP.ClosedConnectionError();
48+
}
4149

4250
protectedoverrideDbReferenceCollectionCreateReferenceCollection()=>throwADP.ClosedConnectionError();
4351

44-
internaloverrideboolTryOpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
45-
=>base.TryOpenConnectionInternal(outerConnection,connectionFactory,retry,userOptions);
52+
internaloverrideboolTryOpenConnection(
53+
DbConnectionouterConnection,
54+
SqlConnectionFactoryconnectionFactory,
55+
TaskCompletionSource<DbConnectionInternal>retry,
56+
DbConnectionOptionsuserOptions)=>
57+
TryOpenConnectionInternal(outerConnection,connectionFactory,retry,userOptions);
4658
}
4759

4860
internalabstractclassDbConnectionBusy:DbConnectionClosed
@@ -51,7 +63,11 @@ protected DbConnectionBusy(ConnectionState state) : base(state, true, false)
5163
{
5264
}
5365

54-
internaloverrideboolTryOpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
66+
internaloverrideboolTryOpenConnection(
67+
DbConnectionouterConnection,
68+
SqlConnectionFactoryconnectionFactory,
69+
TaskCompletionSource<DbConnectionInternal>retry,
70+
DbConnectionOptionsuserOptions)
5571
=>throwADP.ConnectionAlreadyOpen(State);
5672
}
5773

@@ -84,15 +100,23 @@ private DbConnectionClosedConnecting() : base(ConnectionState.Connecting)
84100
{
85101
}
86102

87-
internaloverridevoidCloseConnection(DbConnectionowningObject,DbConnectionFactoryconnectionFactory)
103+
internaloverridevoidCloseConnection(DbConnectionowningObject,SqlConnectionFactoryconnectionFactory)
88104
{
89105
connectionFactory.SetInnerConnectionTo(owningObject,DbConnectionClosedPreviouslyOpened.SingletonInstance);
90106
}
91107

92-
internaloverrideboolTryReplaceConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
93-
=>TryOpenConnection(outerConnection,connectionFactory,retry,userOptions);
94-
95-
internaloverrideboolTryOpenConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
108+
internaloverrideboolTryReplaceConnection(
109+
DbConnectionouterConnection,
110+
SqlConnectionFactoryconnectionFactory,
111+
TaskCompletionSource<DbConnectionInternal>retry,
112+
DbConnectionOptionsuserOptions)=>
113+
TryOpenConnection(outerConnection,connectionFactory,retry,userOptions);
114+
115+
internaloverrideboolTryOpenConnection(
116+
DbConnectionouterConnection,
117+
SqlConnectionFactoryconnectionFactory,
118+
TaskCompletionSource<DbConnectionInternal>retry,
119+
DbConnectionOptionsuserOptions)
96120
{
97121
if(retry==null||!retry.Task.IsCompleted)
98122
{
@@ -137,7 +161,11 @@ private DbConnectionClosedPreviouslyOpened() : base(ConnectionState.Closed, true
137161
{
138162
}
139163

140-
internaloverrideboolTryReplaceConnection(DbConnectionouterConnection,DbConnectionFactoryconnectionFactory,TaskCompletionSource<DbConnectionInternal>retry,DbConnectionOptionsuserOptions)
141-
=>TryOpenConnection(outerConnection,connectionFactory,retry,userOptions);
164+
internaloverrideboolTryReplaceConnection(
165+
DbConnectionouterConnection,
166+
SqlConnectionFactoryconnectionFactory,
167+
TaskCompletionSource<DbConnectionInternal>retry,
168+
DbConnectionOptionsuserOptions)=>
169+
TryOpenConnection(outerConnection,connectionFactory,retry,userOptions);
142170
}
143171
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp