Skip to content

Commit 524bdc9

Browse files
andreasohlundDaniel Marbachbording
authored
Prepare RTM (#595)
* Prepare RTM * Improve ex message * Try 7.2.1 * 7.0.5 * Rollback to 2.19.2 * Try MongoDB.Driver 2.23.0 * Try 2.22.0 * Try 2.20.0 * Go back to 2.19.2 * Do a fake list databases to ensure that cluster info is fetched * Prepare RTM * Cleanup * Revert to 2.19.2 * Try list collections instead * Comment * Try unstable version * Stable version * Tweaks --------- Co-authored-by: Daniel Marbach <[email protected]> Co-authored-by: Brandon Ording <[email protected]>
1 parent e04b987 commit 524bdc9

File tree

17 files changed

+75
-156
lines changed

17 files changed

+75
-156
lines changed

Diff for: .github/workflows/ci.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ jobs:
3232
uses: actions/[email protected]
3333
with:
3434
dotnet-version: 8.0.x
35-
dotnet-quality: 'preview'
3635
- name: Build
3736
run: dotnet build src --configuration Release
3837
- name: Upload packages
@@ -43,7 +42,7 @@ jobs:
4342
path: nugets/
4443
retention-days: 7
4544
- name: Setup MongoDB Server
46-
uses: Particular/setup-mongodb-action@v1.3.1
45+
uses: Particular/setup-mongodb-action@v1.4.0
4746
with:
4847
connection-string-name: NServiceBusStorageMongoDB_ConnectionString
4948
mongodb-port: 27018

Diff for: .github/workflows/release.yml

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ jobs:
2121
uses: actions/[email protected]
2222
with:
2323
dotnet-version: 8.0.x
24-
dotnet-quality: 'preview'
2524
- name: Build
2625
run: dotnet build src --configuration Release
2726
- name: Sign NuGet packages

Diff for: src/NServiceBus.Storage.MongoDB.AcceptanceTests/NServiceBus.Storage.MongoDB.AcceptanceTests.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<ItemGroup>
1212
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
1313
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
14-
<PackageReference Include="MongoDB.Driver" Version="2.19.2" />
15-
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="9.0.0-alpha.6" />
14+
<PackageReference Include="MongoDB.Driver" Version="2.24.0" />
15+
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="9.0.0" />
1616
<PackageReference Include="NUnit" Version="3.14.0" />
1717
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
1818
</ItemGroup>

Diff for: src/NServiceBus.Storage.MongoDB.NoTx.AcceptanceTests/NServiceBus.Storage.MongoDB.NoTx.AcceptanceTests.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<ItemGroup>
1212
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
1313
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
14-
<PackageReference Include="MongoDB.Driver" Version="2.19.2" />
15-
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="9.0.0-alpha.6" />
14+
<PackageReference Include="MongoDB.Driver" Version="2.24.0" />
15+
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="9.0.0" />
1616
<PackageReference Include="NUnit" Version="3.14.0" />
1717
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
1818
</ItemGroup>

Diff for: src/NServiceBus.Storage.MongoDB.PersistenceTests/NServiceBus.Storage.MongoDB.PersistenceTests.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
<ItemGroup>
1212
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
1313
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
14-
<PackageReference Include="MongoDB.Driver" Version="2.19.2" />
15-
<PackageReference Include="NServiceBus.PersistenceTests.Sources" Version="9.0.0-alpha.6" />
14+
<PackageReference Include="MongoDB.Driver" Version="2.24.0" />
15+
<PackageReference Include="NServiceBus.PersistenceTests.Sources" Version="9.0.0" />
1616
<PackageReference Include="NUnit" Version="3.14.0" />
1717
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
1818
</ItemGroup>

Diff for: src/NServiceBus.Storage.MongoDB.Tests/NServiceBus.Storage.MongoDB.Tests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
<ItemGroup>
1212
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
1313
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
14-
<PackageReference Include="MongoDB.Driver" Version="2.19.2" />
15-
<PackageReference Include="NServiceBus" Version="9.0.0-alpha.6" />
14+
<PackageReference Include="MongoDB.Driver" Version="2.24.0" />
15+
<PackageReference Include="NServiceBus" Version="9.0.0" />
1616
<PackageReference Include="NUnit" Version="3.14.0" />
1717
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
1818
<PackageReference Include="Particular.Approvals" Version="1.0.0" />
1919
<PackageReference Include="PublicApiGenerator" Version="11.1.0" />
2020
</ItemGroup>
2121

22-
</Project>
22+
</Project>

Diff for: src/NServiceBus.Storage.MongoDB.TransactionalSession.AcceptanceTests/Infrastructure/TransactionSessionDefaultServer.cs

+12-11
Original file line numberDiff line numberDiff line change
@@ -10,38 +10,39 @@
1010

1111
public class TransactionSessionDefaultServer : IEndpointSetupTemplate
1212
{
13-
public virtual async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointConfiguration,
13+
public virtual async Task<EndpointConfiguration> GetConfiguration(RunDescriptor runDescriptor, EndpointCustomizationConfiguration endpointCustomizations,
1414
Func<EndpointConfiguration, Task> configurationBuilderCustomization)
1515
{
16-
var builder = new EndpointConfiguration(endpointConfiguration.EndpointName);
17-
builder.EnableInstallers();
16+
var endpointConfiguration = new EndpointConfiguration(endpointCustomizations.EndpointName);
1817

19-
builder.Recoverability()
18+
endpointConfiguration.EnableInstallers();
19+
endpointConfiguration.UseSerialization<SystemJsonSerializer>();
20+
endpointConfiguration.Recoverability()
2021
.Delayed(delayed => delayed.NumberOfRetries(0))
2122
.Immediate(immediate => immediate.NumberOfRetries(0));
22-
builder.SendFailedMessagesTo("error");
23+
endpointConfiguration.SendFailedMessagesTo("error");
2324

2425
var storageDir = Path.Combine(Path.GetTempPath(), "learn", TestContext.CurrentContext.Test.ID);
2526

26-
builder.UseTransport(new AcceptanceTestingTransport
27+
endpointConfiguration.UseTransport(new AcceptanceTestingTransport
2728
{
2829
StorageLocation = storageDir
2930
});
3031

31-
var mongoSettings = builder.UsePersistence<MongoPersistence>();
32+
var mongoSettings = endpointConfiguration.UsePersistence<MongoPersistence>();
3233
mongoSettings.EnableTransactionalSession();
3334
mongoSettings.MongoClient(SetupFixture.MongoClient);
3435
mongoSettings.DatabaseName(SetupFixture.DatabaseName);
3536
mongoSettings.UseTransactions(true);
3637

37-
builder.RegisterStartupTask(sp => new CaptureServiceProviderStartupTask(sp, runDescriptor.ScenarioContext));
38+
endpointConfiguration.RegisterStartupTask(sp => new CaptureServiceProviderStartupTask(sp, runDescriptor.ScenarioContext));
3839

39-
await configurationBuilderCustomization(builder).ConfigureAwait(false);
40+
await configurationBuilderCustomization(endpointConfiguration).ConfigureAwait(false);
4041

4142
// scan types at the end so that all types used by the configuration have been loaded into the AppDomain
42-
builder.TypesToIncludeInScan(endpointConfiguration.GetTypesScopedByTestClass());
43+
endpointConfiguration.TypesToIncludeInScan(endpointCustomizations.GetTypesScopedByTestClass());
4344

44-
return builder;
45+
return endpointConfiguration;
4546
}
4647
}
4748
}

Diff for: src/NServiceBus.Storage.MongoDB.TransactionalSession.AcceptanceTests/NServiceBus.Storage.MongoDB.TransactionalSession.AcceptanceTests.csproj

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@
1313
<ItemGroup>
1414
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" />
1515
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
16-
<PackageReference Include="MongoDB.Driver" Version="2.19.2" />
17-
<PackageReference Include="NServiceBus.AcceptanceTesting" Version="9.0.0-alpha.6" />
18-
<PackageReference Include="NServiceBus.TransactionalSession" Version="3.0.0-alpha.1" />
16+
<PackageReference Include="MongoDB.Driver" Version="2.24.0" />
17+
<PackageReference Include="NServiceBus.AcceptanceTesting" Version="9.0.0" />
18+
<PackageReference Include="NServiceBus.TransactionalSession" Version="3.0.0" />
1919
<PackageReference Include="NUnit" Version="3.14.0" />
2020
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
2121
</ItemGroup>

Diff for: src/NServiceBus.Storage.MongoDB.TransactionalSession.Tests/NServiceBus.Storage.MongoDB.TransactionalSession.Tests.csproj

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616
</ItemGroup>
1717

1818
<ItemGroup>
19-
<PackageReference Include="MongoDB.Driver" Version="2.19.2" />
20-
<PackageReference Include="NServiceBus" Version="9.0.0-alpha.6" />
21-
<PackageReference Include="NServiceBus.TransactionalSession" Version="3.0.0-alpha.1" />
19+
<PackageReference Include="MongoDB.Driver" Version="2.24.0" />
20+
<PackageReference Include="NServiceBus" Version="9.0.0" />
21+
<PackageReference Include="NServiceBus.TransactionalSession" Version="3.0.0" />
2222
<PackageReference Include="Particular.Approvals" Version="1.0.0" />
2323
<PackageReference Include="PublicApiGenerator" Version="11.1.0" />
2424
</ItemGroup>
2525

26-
</Project>
26+
</Project>

Diff for: src/NServiceBus.Storage.MongoDB.TransactionalSession/NServiceBus.Storage.MongoDB.TransactionalSession.csproj

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
</ItemGroup>
1313

1414
<ItemGroup>
15-
<PackageReference Include="NServiceBus.TransactionalSession" Version="3.0.0-alpha.1" />
15+
<PackageReference Include="NServiceBus.TransactionalSession" Version="[3.0.0, 4.0.0)" />
1616
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
1717
</ItemGroup>
1818

19-
</Project>
19+
</Project>

Diff for: src/NServiceBus.Storage.MongoDB.sln

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.Storage.MongoDB
99
EndProject
1010
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{204B96DD-7CDD-498E-B527-2CA09B17AD6D}"
1111
ProjectSection(SolutionItems) = preProject
12+
..\.github\workflows\ci.yml = ..\.github\workflows\ci.yml
1213
Custom.Build.props = Custom.Build.props
14+
..\.github\workflows\release.yml = ..\.github\workflows\release.yml
1315
EndProjectSection
1416
EndProject
1517
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.Storage.MongoDB.AcceptanceTests", "NServiceBus.Storage.MongoDB.AcceptanceTests\NServiceBus.Storage.MongoDB.AcceptanceTests.csproj", "{6BCA8AC9-E4BC-4920-BA3F-C218708B8A6B}"
@@ -22,7 +24,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.Storage.MongoDB
2224
EndProject
2325
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.Storage.MongoDB.TransactionalSession.AcceptanceTests", "NServiceBus.Storage.MongoDB.TransactionalSession.AcceptanceTests\NServiceBus.Storage.MongoDB.TransactionalSession.AcceptanceTests.csproj", "{704337C7-74B5-435A-88C7-AC0E10EA7795}"
2426
EndProject
25-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NServiceBus.Storage.MongoDB.TransactionalSession.Tests", "NServiceBus.Storage.MongoDB.TransactionalSession.Tests\NServiceBus.Storage.MongoDB.TransactionalSession.Tests.csproj", "{C9FA6374-432B-4E58-AC5C-7C86FEAA9256}"
27+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NServiceBus.Storage.MongoDB.TransactionalSession.Tests", "NServiceBus.Storage.MongoDB.TransactionalSession.Tests\NServiceBus.Storage.MongoDB.TransactionalSession.Tests.csproj", "{C9FA6374-432B-4E58-AC5C-7C86FEAA9256}"
2628
EndProject
2729
Global
2830
GlobalSection(SolutionConfigurationPlatforms) = preSolution

Diff for: src/NServiceBus.Storage.MongoDB/Configuration/CompatibilitySettings.cs

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ internal CompatibilitySettings(SettingsHolder settingsHolder) : base(settingsHol
1919
/// </summary>
2020
public CompatibilitySettings VersionElementName(string versionElementName)
2121
{
22-
Guard.AgainstNullAndEmpty(nameof(versionElementName), versionElementName);
22+
ArgumentException.ThrowIfNullOrWhiteSpace(versionElementName);
2323

2424
this.GetSettings().Set(SettingsKeys.VersionElementName, versionElementName);
2525
return this;
@@ -30,7 +30,7 @@ public CompatibilitySettings VersionElementName(string versionElementName)
3030
/// </summary>
3131
public CompatibilitySettings CollectionNamingConvention(Func<Type, string> collectionNamingConvention)
3232
{
33-
Guard.AgainstNull(nameof(collectionNamingConvention), collectionNamingConvention);
33+
ArgumentNullException.ThrowIfNull(collectionNamingConvention);
3434

3535
this.GetSettings().Set(SettingsKeys.CollectionNamingConvention, collectionNamingConvention);
3636
return this;

Diff for: src/NServiceBus.Storage.MongoDB/Configuration/MongoSettingsExtensions.cs

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ public static class MongoSettingsExtensions
1515
/// </summary>
1616
public static PersistenceExtensions<MongoPersistence> MongoClient(this PersistenceExtensions<MongoPersistence> persistenceExtensions, IMongoClient mongoClient)
1717
{
18-
Guard.AgainstNull(nameof(persistenceExtensions), persistenceExtensions);
19-
Guard.AgainstNull(nameof(mongoClient), mongoClient);
18+
ArgumentNullException.ThrowIfNull(persistenceExtensions);
19+
ArgumentNullException.ThrowIfNull(mongoClient);
2020

2121
persistenceExtensions.GetSettings().Set(SettingsKeys.MongoClient, () => mongoClient);
2222
return persistenceExtensions;
@@ -27,8 +27,8 @@ public static PersistenceExtensions<MongoPersistence> MongoClient(this Persisten
2727
/// </summary>
2828
public static PersistenceExtensions<MongoPersistence> DatabaseName(this PersistenceExtensions<MongoPersistence> persistenceExtensions, string databaseName)
2929
{
30-
Guard.AgainstNull(nameof(persistenceExtensions), persistenceExtensions);
31-
Guard.AgainstNullAndEmpty(nameof(databaseName), databaseName);
30+
ArgumentNullException.ThrowIfNull(persistenceExtensions);
31+
ArgumentException.ThrowIfNullOrWhiteSpace(databaseName);
3232

3333
persistenceExtensions.GetSettings().Set(SettingsKeys.DatabaseName, databaseName);
3434
return persistenceExtensions;
@@ -39,7 +39,7 @@ public static PersistenceExtensions<MongoPersistence> DatabaseName(this Persiste
3939
/// </summary>
4040
public static PersistenceExtensions<MongoPersistence> UseTransactions(this PersistenceExtensions<MongoPersistence> persistenceExtensions, bool useTransactions)
4141
{
42-
Guard.AgainstNull(nameof(persistenceExtensions), persistenceExtensions);
42+
ArgumentNullException.ThrowIfNull(persistenceExtensions);
4343

4444
persistenceExtensions.GetSettings().Set(SettingsKeys.UseTransactions, useTransactions);
4545
return persistenceExtensions;
@@ -50,8 +50,8 @@ public static PersistenceExtensions<MongoPersistence> UseTransactions(this Persi
5050
/// </summary>
5151
public static PersistenceExtensions<MongoPersistence> TimeToKeepOutboxDeduplicationData(this PersistenceExtensions<MongoPersistence> persistenceExtensions, TimeSpan timeToKeepOutboxDeduplicationData)
5252
{
53-
Guard.AgainstNull(nameof(persistenceExtensions), persistenceExtensions);
54-
Guard.AgainstNegativeAndZero(nameof(timeToKeepOutboxDeduplicationData), timeToKeepOutboxDeduplicationData);
53+
ArgumentNullException.ThrowIfNull(persistenceExtensions);
54+
ArgumentOutOfRangeException.ThrowIfLessThanOrEqual(timeToKeepOutboxDeduplicationData, TimeSpan.Zero);
5555

5656
var seconds = Math.Ceiling(timeToKeepOutboxDeduplicationData.TotalSeconds);
5757

Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
44
<TargetFramework>net8.0</TargetFramework>
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="MongoDB.Driver" Version="[2.19.2, 3.0.0)" />
9-
<PackageReference Include="NServiceBus" Version="9.0.0-alpha.6" />
8+
<PackageReference Include="MongoDB.Driver" Version="[2.24.0, 3.0.0)" />
9+
<PackageReference Include="NServiceBus" Version="[9.0.0, 10.0.0)" />
1010
<PackageReference Include="Particular.Packaging" Version="4.1.0" PrivateAssets="All" />
1111
</ItemGroup>
1212

@@ -15,4 +15,4 @@
1515
<InternalsVisibleTo Include="NServiceBus.Storage.MongoDB.PersistenceTests" />
1616
</ItemGroup>
1717

18-
</Project>
18+
</Project>

Diff for: src/NServiceBus.Storage.MongoDB/SynchronizedStorage/SynchronizedStorage.cs

+27-28
Original file line numberDiff line numberDiff line change
@@ -26,41 +26,40 @@ protected override void Setup(FeatureConfigurationContext context)
2626

2727
try
2828
{
29-
client.GetDatabase(databaseName);
30-
}
31-
catch (ArgumentException ex)
32-
{
33-
throw new Exception($"The persistence database name '{databaseName}' is invalid. Configure a valid database name by calling 'EndpointConfiguration.UsePersistence<{nameof(MongoPersistence)}>().DatabaseName(databaseName)'.", ex);
34-
}
29+
var database = client.GetDatabase(databaseName);
3530

36-
try
37-
{
38-
using (var session = client.StartSession())
31+
// perform a query to the server to make sure cluster details are loaded
32+
database.ListCollectionNames();
33+
34+
using var session = client.StartSession();
35+
36+
if (useTransactions)
3937
{
40-
if (useTransactions)
41-
{
42-
var clusterType = client.Cluster.Description.Type;
38+
var clusterType = client.Cluster.Description.Type;
4339

44-
//HINT: cluster configuration check is needed as the built-in checks, executed during "StartTransaction() call,
45-
// do not detect if the cluster configuration is a supported one. Only the version ranges are validated.
46-
// Without this check, exceptions will be thrown during message processing.
47-
if (clusterType is not ClusterType.ReplicaSet and not ClusterType.Sharded)
48-
{
49-
throw new Exception($"Transactions are only supported on replica sets or sharded clusters. Disable support for transactions by calling 'EndpointConfiguration.UsePersistence<{nameof(MongoPersistence)}>().UseTransactions(false)'.");
50-
}
40+
//HINT: cluster configuration check is needed as the built-in checks, executed during "StartTransaction() call,
41+
// do not detect if the cluster configuration is a supported one. Only the version ranges are validated.
42+
// Without this check, exceptions will be thrown during message processing.
43+
if (clusterType is not ClusterType.ReplicaSet and not ClusterType.Sharded)
44+
{
45+
throw new Exception($"The cluster type in use is {clusterType}, but transactions are only supported on replica sets or sharded clusters. Disable support for transactions by calling 'EndpointConfiguration.UsePersistence<{nameof(MongoPersistence)}>().UseTransactions(false)'.");
46+
}
5147

52-
try
53-
{
54-
session.StartTransaction();
55-
session.AbortTransaction();
56-
}
57-
catch (NotSupportedException ex)
58-
{
59-
throw new Exception($"Transactions are not supported by the MongoDB server. Disable support for transactions by calling 'EndpointConfiguration.UsePersistence<{nameof(MongoPersistence)}>().UseTransactions(false)'.", ex);
60-
}
48+
try
49+
{
50+
session.StartTransaction();
51+
session.AbortTransaction();
52+
}
53+
catch (NotSupportedException ex)
54+
{
55+
throw new Exception($"Transactions are not supported by the MongoDB server. Disable support for transactions by calling 'EndpointConfiguration.UsePersistence<{nameof(MongoPersistence)}>().UseTransactions(false)'.", ex);
6156
}
6257
}
6358
}
59+
catch (ArgumentException ex)
60+
{
61+
throw new Exception($"The persistence database name '{databaseName}' is invalid. Configure a valid database name by calling 'EndpointConfiguration.UsePersistence<{nameof(MongoPersistence)}>().DatabaseName(databaseName)'.", ex);
62+
}
6463
catch (NotSupportedException ex)
6564
{
6665
throw new Exception("Sessions are not supported by the MongoDB server. The NServiceBus.Storage.MongoDB persistence requires MongoDB server version 3.6 or greater.", ex);

Diff for: src/NServiceBus.Storage.MongoDB/SynchronizedStorage/SynchronizedStorageSessionExtensions.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public static IClientSessionHandle GetClientSession(this ISynchronizedStorageSes
2121
/// </summary>
2222
public static IMongoSynchronizedStorageSession MongoPersistenceSession(this ISynchronizedStorageSession session)
2323
{
24-
Guard.AgainstNull(nameof(session), session);
24+
ArgumentNullException.ThrowIfNull(session);
2525

2626
if (session is IMongoSynchronizedStorageSession mongoSession)
2727
{

0 commit comments

Comments
 (0)