如何更改我的云副本集中的 transactionLifetimeLimitSeconds。 首先我正在创建新会话:
var client = new MongoClient(new MongoUrl(_connectionString));
var session= client.StartSession();
下一个
session.StartTransaction();
/* Code that takes longer than 1 minute*/
session.CommitTransaction();
当启动和提交事务之间的代码结束时,我会收到类似错误
抛出异常:MongoDB.Driver.Core.dll 中的“MongoDB.Driver.MongoCommandException”(“命令插入失败:事务 1 已中止..”)抛出异常:MongoDB.Driver.Core 中的“MongoDB.Driver.MongoCommandException” .dll
如果代码花费的时间少于 1 分钟,则一切正常。
您可以调用此命令
db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } )
,例如:
var adminDb = client.GetDatabase("admin");
adminDb.RunCommand<BsonDocument>("{ setParameter: 1, transactionLifetimeLimitSeconds: 30 }");