如何更改我的云副本集中的transactionLifetimeLimitSeconds。首先,我正在创建新会话:
var client = new MongoClient(new MongoUrl(_connectionString));
var session= client.StartSession();
字符串
下
session.StartTransaction();
/* Code that takes longer than 1 minute*/
session.CommitTransaction();
型
当启动和提交事务之间的代码结束时,im会收到错误,如
引发异常错误:“MongoDB.Driver.Core.dll中的”MongoDB.Driver.MongoCommandException“(“命令插入失败:事务1已中止..”)引发异常错误:MongoDB.Driver.Core.dll中的“MongoDB.Driver.MongoCommandException”
如果代码所需时间不到1分钟,则一切正常。
1条答案
按热度按时间cfh9epnr1#
你可以这样调用这个命令
db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 30 } )
:字符串
此外,检查这个交易选项:http://mongodb.github.io/mongo-csharp-driver/2.11/apidocs/html/P_MongoDB_Driver_TransactionOptions_MaxCommitTime.htm,我相信它应该有帮助(但我没有亲自使用它)。