[英]C# Azure Redis Cache - Cannot access a disposed object exception
按照以下鏈接在Web API中實現Redis緩存。 https://docs.microsoft.com/en-us/azure/redis-cache/cache-dotnet-how-to-use-azure-redis-cache
高速緩存第一次正常運行,但由於錯誤而失敗
“無法訪問已處置的對象”
...在隨后的閱讀中。
如以上博客中所述,我將連接放置在方法的末尾,並再次調用該方法,並引發上述異常:lazyConnection.Value.Dispose();
還嘗試將連接屬性封裝在另一個類中,如此處所述。 但是,由於它們被聲明為靜態的,因此在所有實例中都保留相同的值,因此在處置連接時,后續調用將導致相同的異常。
https://www.c-sharpcorner.com/article/using-redis-cache-in-web-api/
我可以通過以下兩種方法解決此問題:
不要處置該連接,並且不要對所有呼叫重復使用同一連接。
使Cache連接為非靜態,以便為每個調用創建並釋放一個新連接。
正確的做法是什么?
您不應該在每次通話時都建立連接,這樣會造成效率低下。 如果可能,也應避免靜態連接。 它會使單元測試更難編寫,並阻止您在同一過程中建立多個連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.