[英]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.