デフォルトのサイズが 50M の上限付きコレクションを作成しました。最近になって、Cursor not found
コレクションのストレージ サイズの上限が 50M を超えると、エラーが発生することに気付きました。これがどのような理由で発生するのかはわかりません。上限が設定されたコレクションのサイズがデフォルトの最大サイズを下回ったときに、このエラーが発生することはありませんでした。
if (this._cursor == null || this._cursor.IsDead)
{
var cursor = this._queueCollection.Find(Query.GT("_id", this._lastId))
.SetFlags(QueryFlags.AwaitData |
QueryFlags.TailableCursor |
QueryFlags.NoCursorTimeout)
.SetSortOrder(SortBy.Ascending("$natural"));
this._cursor =(MongoCursorEnumerator<QueueMessage<T>>)cursor.GetEnumerator();
}
try
{
if (this._cursor.MoveNext())
//do some things
return this._cursor.Current;
else
{
if (this._cursor.IsDead){
this._cursor.Dispose();
this._cursor=null;
}
}
return null;
}
catch{}
this._cursor.MoveNext ()は例外をスローしcursor not found
ます (常にスローされるとは限りません。私のコードは間違っていますか?