14
14
*/
15
15
16
16
using System ;
17
- using System . Collections . Generic ;
18
- using System . Linq ;
19
17
using System . Reflection ;
20
18
using System . Threading ;
21
19
using System . Threading . Tasks ;
@@ -203,7 +201,8 @@ public override IAsyncCursor<BsonDocument> ListCollections(IClientSessionHandle
203
201
Ensure . IsNotNull ( session , nameof ( session ) ) ;
204
202
options = options ?? new ListCollectionsOptions ( ) ;
205
203
var operation = CreateListCollectionsOperation ( options ) ;
206
- return ExecuteReadOperation ( session , operation , ReadPreference . Primary , cancellationToken ) ;
204
+ var effectiveReadPreference = ReadPreferenceResolver . GetEffectiveReadPreference ( session , null , ReadPreference . Primary ) ;
205
+ return ExecuteReadOperation ( session , operation , effectiveReadPreference , cancellationToken ) ;
207
206
}
208
207
209
208
public override Task < IAsyncCursor < BsonDocument > > ListCollectionsAsync ( ListCollectionsOptions options , CancellationToken cancellationToken )
@@ -216,7 +215,8 @@ public override Task<IAsyncCursor<BsonDocument>> ListCollectionsAsync(IClientSes
216
215
Ensure . IsNotNull ( session , nameof ( session ) ) ;
217
216
options = options ?? new ListCollectionsOptions ( ) ;
218
217
var operation = CreateListCollectionsOperation ( options ) ;
219
- return ExecuteReadOperationAsync ( session , operation , ReadPreference . Primary , cancellationToken ) ;
218
+ var effectiveReadPreference = ReadPreferenceResolver . GetEffectiveReadPreference ( session , null , ReadPreference . Primary ) ;
219
+ return ExecuteReadOperationAsync ( session , operation , effectiveReadPreference , cancellationToken ) ;
220
220
}
221
221
222
222
public override void RenameCollection ( string oldName , string newName , RenameCollectionOptions options , CancellationToken cancellationToken )
@@ -260,10 +260,10 @@ public override Task RenameCollectionAsync(IClientSessionHandle session, string
260
260
{
261
261
Ensure . IsNotNull ( session , nameof ( session ) ) ;
262
262
Ensure . IsNotNull ( command , nameof ( command ) ) ;
263
- readPreference = readPreference ?? ReadPreference . Primary ;
264
263
265
264
var operation = CreateRunCommandOperation ( command ) ;
266
- return ExecuteReadOperation ( session , operation , readPreference , cancellationToken ) ;
265
+ var effectiveReadPreference = ReadPreferenceResolver . GetEffectiveReadPreference ( session , readPreference , ReadPreference . Primary ) ;
266
+ return ExecuteReadOperation ( session , operation , effectiveReadPreference , cancellationToken ) ;
267
267
}
268
268
269
269
public override Task < TResult > RunCommandAsync < TResult > ( Command < TResult > command , ReadPreference readPreference = null , CancellationToken cancellationToken = default ( CancellationToken ) )
@@ -275,10 +275,10 @@ public override Task RenameCollectionAsync(IClientSessionHandle session, string
275
275
{
276
276
Ensure . IsNotNull ( session , nameof ( session ) ) ;
277
277
Ensure . IsNotNull ( command , nameof ( command ) ) ;
278
- readPreference = readPreference ?? ReadPreference . Primary ;
279
278
280
279
var operation = CreateRunCommandOperation ( command ) ;
281
- return ExecuteReadOperationAsync ( session , operation , readPreference , cancellationToken ) ;
280
+ var effectiveReadPreference = ReadPreferenceResolver . GetEffectiveReadPreference ( session , readPreference , ReadPreference . Primary ) ;
281
+ return ExecuteReadOperationAsync ( session , operation , effectiveReadPreference , cancellationToken ) ;
282
282
}
283
283
284
284
public override IMongoDatabase WithReadConcern ( ReadConcern readConcern )
0 commit comments