临河任务调度
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 line
847B

  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. }