@@ -39,7 +39,6 @@ public class MongoConnectionStringBuilder : DbConnectionStringBuilder
39
39
{ "connecttimeout" , "connectTimeout" } ,
40
40
{ "connecttimeoutms" , "connectTimeout" } ,
41
41
{ "database" , "database" } ,
42
- { "fireandforget" , "fireAndForget" } ,
43
42
{ "fsync" , "fsync" } ,
44
43
{ "guids" , "uuidRepresentation" } ,
45
44
{ "ipv6" , "ipv6" } ,
@@ -81,7 +80,6 @@ public class MongoConnectionStringBuilder : DbConnectionStringBuilder
81
80
private ConnectionMode _connectionMode ;
82
81
private TimeSpan _connectTimeout ;
83
82
private string _databaseName ;
84
- private bool ? _fireAndForget ;
85
83
private bool ? _fsync ;
86
84
private GuidRepresentation _guidRepresentation ;
87
85
private bool _ipv6 ;
@@ -187,30 +185,6 @@ public string DatabaseName
187
185
}
188
186
}
189
187
190
- /// <summary>
191
- /// Gets or sets the fireAndForget value.
192
- /// </summary>
193
- public bool ? FireAndForget
194
- {
195
- get { return _fireAndForget ; }
196
- set
197
- {
198
- if ( value != null )
199
- {
200
- if ( _safe != null )
201
- {
202
- throw new InvalidOperationException ( "FireAndForget and Safe are mutually exclusive." ) ;
203
- }
204
- if ( value . Value && AnyWriteConcernSettingsAreSet ( ) )
205
- {
206
- throw new InvalidOperationException ( "FireAndForget cannot be set to true if any other write concern values have been set." ) ;
207
- }
208
- }
209
- _fireAndForget = value ;
210
- base [ "fireAndForget" ] = ( value == null ) ? null : XmlConvert . ToString ( value . Value ) ;
211
- }
212
- }
213
-
214
188
/// <summary>
215
189
/// Gets or sets the FSync component of the write concern.
216
190
/// </summary>
@@ -219,7 +193,6 @@ public bool? FSync
219
193
get { return _fsync ; }
220
194
set
221
195
{
222
- if ( value != null ) { EnsureFireAndForgetIsNotTrue ( "FSync" ) ; }
223
196
_fsync = value ;
224
197
base [ "fsync" ] = ( value == null ) ? null : XmlConvert . ToString ( value . Value ) ;
225
198
}
@@ -259,7 +232,6 @@ public bool? Journal
259
232
get { return _journal ; }
260
233
set
261
234
{
262
- if ( value != null ) { EnsureFireAndForgetIsNotTrue ( "Journal" ) ; }
263
235
_journal = value ;
264
236
base [ "journal" ] = ( value == null ) ? null : XmlConvert . ToString ( value . Value ) ;
265
237
}
@@ -407,18 +379,14 @@ public string ReplicaSetName
407
379
/// <summary>
408
380
/// Gets or sets the safe value.
409
381
/// </summary>
410
- [ Obsolete ( "Use FireAndForget instead." ) ]
382
+ [ Obsolete ( "Use W=0 or W=1 instead." ) ]
411
383
public bool ? Safe
412
384
{
413
385
get { return _safe ; }
414
386
set
415
387
{
416
388
if ( value != null )
417
389
{
418
- if ( _fireAndForget != null )
419
- {
420
- throw new InvalidOperationException ( "FireAndForget and Safe are mutually exclusive." ) ;
421
- }
422
390
if ( ! value . Value && AnyWriteConcernSettingsAreSet ( ) )
423
391
{
424
392
throw new InvalidOperationException ( "Safe cannot be set to false if any other write concern values have been set." ) ;
@@ -432,12 +400,12 @@ public bool? Safe
432
400
/// <summary>
433
401
/// Gets or sets the SafeMode to use.
434
402
/// </summary>
435
- [ Obsolete ( "Use FireAndForget, FSync, Journal, W and WTimeout instead." ) ]
403
+ [ Obsolete ( "Use FSync, Journal, W and WTimeout instead." ) ]
436
404
public SafeMode SafeMode
437
405
{
438
406
get
439
407
{
440
- if ( _fireAndForget != null || _safe != null || AnyWriteConcernSettingsAreSet ( ) )
408
+ if ( _safe != null || AnyWriteConcernSettingsAreSet ( ) )
441
409
{
442
410
#pragma warning disable 618
443
411
return new SafeMode ( GetWriteConcern ( false ) ) ;
@@ -450,7 +418,6 @@ public SafeMode SafeMode
450
418
}
451
419
set
452
420
{
453
- FireAndForget = null ;
454
421
Safe = null ;
455
422
FSync = null ;
456
423
Journal = null ;
@@ -607,7 +574,6 @@ public WriteConcern.WValue W
607
574
get { return _w ; }
608
575
set
609
576
{
610
- if ( value != null ) { EnsureFireAndForgetIsNotTrue ( "W" ) ; }
611
577
_w = value ;
612
578
base [ "w" ] = ( value == null ) ? null : value . ToString ( ) ;
613
579
}
@@ -676,7 +642,6 @@ public TimeSpan? WTimeout
676
642
get { return _wTimeout ; }
677
643
set
678
644
{
679
- if ( value != null ) { EnsureFireAndForgetIsNotTrue ( "WTimeout" ) ; }
680
645
if ( value != null && value . Value < TimeSpan . Zero )
681
646
{
682
647
throw new ArgumentOutOfRangeException ( "value" , "WTimeout must be greater than or equal to zero." ) ;
@@ -722,9 +687,6 @@ public override object this[string keyword]
722
687
case "database" :
723
688
DatabaseName = ( string ) value ;
724
689
break ;
725
- case "fireandforget" :
726
- FireAndForget = Convert . ToBoolean ( value ) ;
727
- break ;
728
690
case "fsync" :
729
691
FSync = Convert . ToBoolean ( value ) ;
730
692
break ;
@@ -870,23 +832,13 @@ public override bool ContainsKey(string keyword)
870
832
}
871
833
872
834
/// <summary>
873
- /// Returns a WriteConcern value based on this instance's settings and a fire and forget default .
835
+ /// Returns a WriteConcern value based on this instance's settings and a default enabled value .
874
836
/// </summary>
875
- /// <param name="fireAndForgetDefault ">The fire and forget default .</param>
837
+ /// <param name="enabledDefault ">The default enabled value .</param>
876
838
/// <returns>A WriteConcern.</returns>
877
- public WriteConcern GetWriteConcern ( bool fireAndForgetDefault )
839
+ public WriteConcern GetWriteConcern ( bool enabledDefault )
878
840
{
879
- var fireAndForget = fireAndForgetDefault ;
880
- if ( _fireAndForget != null ) { fireAndForget = _fireAndForget . Value ; }
881
- else if ( _safe != null ) { fireAndForget = ! _safe . Value ; }
882
- else if ( AnyWriteConcernSettingsAreSet ( ) ) { fireAndForget = false ; }
883
-
884
- var writeConcern = new WriteConcern { FireAndForget = fireAndForget } ;
885
- if ( _fsync != null ) { writeConcern . FSync = _fsync . Value ; }
886
- if ( _journal != null ) { writeConcern . Journal = _journal . Value ; }
887
- if ( _w != null ) { writeConcern . W = _w ; }
888
- if ( _wTimeout != null ) { writeConcern . WTimeout = _wTimeout . Value ; }
889
- return writeConcern ;
841
+ return WriteConcern . Create ( enabledDefault , _safe , _fsync , _journal , _w , _wTimeout ) ;
890
842
}
891
843
892
844
/// <summary>
@@ -905,20 +857,6 @@ private bool AnyWriteConcernSettingsAreSet()
905
857
return _fsync != null || _journal != null || _w != null || _wTimeout != null ;
906
858
}
907
859
908
- private void EnsureFireAndForgetIsNotTrue ( string propertyName )
909
- {
910
- if ( _fireAndForget != null && _fireAndForget . Value )
911
- {
912
- var message = string . Format ( "{0} cannot be set when FireAndForget is true." , propertyName ) ;
913
- throw new InvalidOperationException ( message ) ;
914
- }
915
- if ( _safe != null && ! _safe . Value )
916
- {
917
- var message = string . Format ( "{0} cannot be set when Safe is false." , propertyName ) ;
918
- throw new InvalidOperationException ( message ) ;
919
- }
920
- }
921
-
922
860
private string GetServersString ( IEnumerable < MongoServerAddress > servers )
923
861
{
924
862
var sb = new StringBuilder ( ) ;
@@ -990,7 +928,6 @@ private void ResetValues()
990
928
_connectionMode = ConnectionMode . Automatic ;
991
929
_connectTimeout = MongoDefaults . ConnectTimeout ;
992
930
_databaseName = null ;
993
- _fireAndForget = null ;
994
931
_fsync = null ;
995
932
_guidRepresentation = MongoDefaults . GuidRepresentation ;
996
933
_ipv6 = false ;
0 commit comments