临河任务调度
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.

MongoDbFixture.cs 847B

12345678910111213141516171819202122232425262728293031323334
  1. using System;
  2. using EphemeralMongo;
  3. namespace Himp.TaskScheduling.MongoDB;
  4. public class MongoDbFixture : IDisposable
  5. {
  6. public readonly static IMongoRunner MongoDbRunner;
  7. static MongoDbFixture()
  8. {
  9. MongoDbRunner = MongoRunner.Run(new MongoRunnerOptions
  10. {
  11. UseSingleNodeReplicaSet = true
  12. });
  13. }
  14. public static string GetRandomConnectionString()
  15. {
  16. return GetConnectionString("Db_" + Guid.NewGuid().ToString("N"));
  17. }
  18. public static string GetConnectionString(string databaseName)
  19. {
  20. var stringArray = MongoDbRunner.ConnectionString.Split('?');
  21. var connectionString = stringArray[0].EnsureEndsWith('/') + databaseName + "/?" + stringArray[1];
  22. return connectionString;
  23. }
  24. public void Dispose()
  25. {
  26. MongoDbRunner?.Dispose();
  27. }
  28. }