Я пытаюсь заставить Hanfire использовать хранилище MongoDB с помощью пакета Hangfire.Mongo NuGet.
Я выполняю минимально необходимое в Configure()
:
app.UseHangfireServer();
И это в ConfigureServices()
:
services.AddHangfire(
config => config.UseMongoStorage("mongodb://myhost:27017"),
"MyDatabase");
Я проверил, что база данных существует, и приведенная выше строка подключения верна.
Я получаю это исключение:
Невозможно очистить блокировки на ресурсе «Миграция».System.TimeoutException: Тайм-аут произошел после 30000 мс при выборе сервера с использованием
CompositeServerSelector {Selectors = MongoDB.Driver.MongoClient + AreSessionsSupportedServerSelector, LatencyLimitingServerSelector {AllowedLatencyRange 00: 00.01: 00 00: 00. 00: 00. 00: 00.Клиентское представление состояния кластера: {ClusterId: "1", ConnectionMode: "Automatic", тип: "Unknown", состояние: "Disconnected", серверы: [{ServerId: "{ClusterId: 1, EndPoint:" Unspecified / myhost: 27017 "}", конечная точка: " Unspecified / myhost: 27017", состояние: "Disconnected", тип: "Unknown", HeartbeatException: "MongoDB.Driver.MongoConnectionException:
Исключительная ситуация при открытии соединения с сервером. ---> System.Net.Sockets.SocketException: Такой хост не известен в System.Net.Dns.HostResolutionEndHelper (IAsyncResult asyncResult)... at Hangfire.Mongo.DistributedLock.MongoDistributedLock.Cleanup () [Hangfire.Mongo.DistributedLock.MongoDistributedLock]
полужирный части заставляют меня поверить, что некоторая информацияне установлен или не сброшен где-то, но я не делаю ничего необычного. Я проверил проблемы с брандмауэром и попробовал многие идеи из этого ответа кому-то подобномувопрос.
Я также пытался изменить строку подключения на все эти
- mongodb: // myhost: 27017 / MyDatabase
- mongodb: // myhost: 27017 /? Connect = replicaSet
- mongodb: // myhost: 27017 / MyDatabase /? Connect = replicaSet