使用CacheEntryRemovedCallback委托时,我不明白这一点.我可以在所有项目中可靠地重现这一点.难道我做错了什么?这是一个小样本应用程序:
using System.Runtime.Caching;class Program { static voID Main(string[] args) { var policy = new CacheItemPolicy(); policy.SlIDingExpiration = TimeSpan.FromSeconds(10); // this works //policy.RemovedCallback = Removed; // this creates the exception policy.UpdateCallback = Update; MemoryCache.Default.Add("test","123",policy); Console.Read(); } static voID Update(CacheEntryUpdateArguments arguments) { } static voID Removed(CacheEntryRemovedArugments arguments) { }}解决方法 根据文档,您应该使用Set而不是Add.
MemoryCache.Add:
The
Add
andAddOrGetExisting
method overloads do not support the UpdateCallback property. Therefore,to set the UpdateCallback property for a cache entry,use theSet
method overloads instead.
确实工作没有问题:
MemoryCache.Default.Set("test",policy);总结
以上是内存溢出为你收集整理的c# – 完全无法定义System.Runtime.Caching的UpdateCallback全部内容,希望文章能够帮你解决c# – 完全无法定义System.Runtime.Caching的UpdateCallback所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)