我正在尝试让Hanfire使用MongoDB存储
Hangfire.Mongo
NuGet软件包。
我在做最起码的必要的工作
Configure()
:
app.UseHangfireServer();
这个在
ConfigureServices()
:
services.AddHangfire(
config => config.UseMongoStorage("mongodb://myhost:27017"),
"MyDatabase");
我已经验证了数据库存在,并且上面的连接字符串是正确的。
我有一个例外:
无法清除资源“迁移”上的锁。系统TimeoutException:在30000ms使用选择服务器后发生超时
CompositeServerSelector{Selectors=MongoDB.Driver.MongoClient+AreSessionsSupportedServerSelector,LatencyMitingServerSelector{AllowedLatencyRange=00:00.0150000}}。群集状态的客户端视图为{ClusterId:“1”,连接模式:“自动”,类型:“未知”,状态:“断开”,服务器:[{ServerId:{ClusterId:1,端点:”
未指明
/myhost:27017“}”,端点:
未指明
/myhost:27017,状态:“断开”,类型:“未知”,HeartbeatException:“MongoDB。驾驶员MongoConnectionException:
打开与服务器的连接时发生异常--->系统网插座。SocketException:
目前还不知道这样的主人
在系统中。网Dns。HostResolutionEndHelper(IAsyncResult asyncResult)
...
在篝火旁。蒙戈。分布式锁。MongoDistributedLock。Cleanup()[Hangfire.Mongo.DistributedLock.MongoDistributedLock]
这个
大胆的
部分原因让我相信,有些信息并没有被设置或丢弃在某个地方,但我并没有做任何不寻常的事情。我检查了防火墙问题,并尝试了本文中的许多想法
answer
对于其他人的类似问题。
我还尝试将连接字符串更改为所有这些
-
mongodb://myhost:27017/MyDatabase
-
mongodb://myhost:27017/?connect=replicaSet
-
mongodb://myhost:27017/MyDatabase/?connect=replicaSet