Booksleeve 1.1.0.6 (最新の nuget パッケージ) を使用しています。
Webアプリケーション全体に単一の接続を使用したいので、シングルトンに保存しています:
public static RedisConnection Conn = RedisConfig.GetUnsecuredConnection(waitForOpen: true);
RedisConfig.GetUnsecuredConnectionメソッドは、 BookSleeveテストで使用されるものと同じです。
操作を実行しようとすると、InvalidOperationException: The queue is closed という例外が発生します。
[InvalidOperationException: キューが閉じられました] C:\Dev\BookSleeve\BookSleeve\MessageQueue.cs:73 の BookSleeve.MessageQueue.Enqueue(RedisMessage アイテム、ブール値の highPri): C の BookSleeve.RedisConnectionBase.ExecuteVoid(RedisMessage メッセージ、ブール値の queueJump): \Dev\BookSleeve\BookSleeve\RedisConnectionBase.cs:794 ASP.welisten_booksleevetests_aspx.SaveDictionaryToRedis(Dictionary`2 辞書) +173 ASP.welisten_booksleevetests_aspx.Page_Load(オブジェクト送信者、EventArgs e) +67 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp、オブジェクト o、オブジェクト t、EventArgs e) +25 System.Web.UI.Control.LoadRecursive() +71 System.Web.UI.Page.ProcessRequestMain(ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) +3064
waitForOpenパラメータをtrueとfalseに設定してこれを試しました
実行しようとしているコードは次のとおりです。
private void SaveDictionaryToRedis(Dictionary<string, string> dictionary)
{
using (Mp.Step("Saving Data to Redis"))
{
using (RedisConfig.Conn)
{
RedisConfig.Conn.Strings.Set(DB, dictionary);
}
}
}