PageRenderTime 52ms CodeModel.GetById 16ms RepoModel.GetById 0ms app.codeStats 0ms

/BlogEngine/DotNetSlave.BusinessLogic/Providers/CacheProvider/CacheBase.cs

#
C# | 87 lines | 25 code | 2 blank | 60 comment | 0 complexity | e353c3ba6afb3be3ade13abab93606d8 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, BSD-3-Clause
  1. using System;
  2. using System.Collections;
  3. using System.Web.Caching;
  4. namespace BlogEngine.Core.Providers.CacheProvider
  5. {
  6. /// <summary>
  7. /// Cache Base
  8. /// </summary>
  9. public abstract class CacheBase : IEnumerable
  10. {
  11. /// <summary>
  12. /// Count
  13. /// </summary>
  14. public abstract int Count { get; }
  15. /// <summary>
  16. /// Physical Memory Limit
  17. /// </summary>
  18. public abstract long EffectivePercentagePhysicalMemoryLimit { get; }
  19. ///<summary>
  20. ///</summary>
  21. public abstract long EffectivePrivateBytesLimit { get; }
  22. ///<summary>
  23. ///</summary>
  24. ///<param name="key"></param>
  25. public abstract object this[string key] { get; set; }
  26. ///<summary>
  27. ///</summary>
  28. ///<param name="key"></param>
  29. ///<param name="value"></param>
  30. ///<param name="dependencies"></param>
  31. ///<param name="absoluteExpiration"></param>
  32. ///<param name="slidingExpiration"></param>
  33. ///<param name="priority"></param>
  34. ///<param name="onRemoveCallback"></param>
  35. ///<returns></returns>
  36. public abstract object Add(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback);
  37. ///<summary>
  38. ///</summary>
  39. ///<param name="key"></param>
  40. ///<returns></returns>
  41. public abstract object Get(string key);
  42. ///<summary>
  43. ///</summary>
  44. ///<returns></returns>
  45. public abstract IDictionaryEnumerator GetEnumerator();
  46. ///<summary>
  47. ///</summary>
  48. ///<param name="key"></param>
  49. ///<param name="value"></param>
  50. public abstract void Insert(string key, object value);
  51. ///<summary>
  52. ///</summary>
  53. ///<param name="key"></param>
  54. ///<param name="value"></param>
  55. ///<param name="dependencies"></param>
  56. public abstract void Insert(string key, object value, CacheDependency dependencies);
  57. ///<summary>
  58. ///</summary>
  59. ///<param name="key"></param>
  60. ///<param name="value"></param>
  61. ///<param name="dependencies"></param>
  62. ///<param name="absoluteExpiration"></param>
  63. ///<param name="slidingExpiration"></param>
  64. public abstract void Insert(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration);
  65. ///<summary>
  66. ///</summary>
  67. ///<param name="key"></param>
  68. ///<param name="value"></param>
  69. ///<param name="dependencies"></param>
  70. ///<param name="absoluteExpiration"></param>
  71. ///<param name="slidingExpiration"></param>
  72. ///<param name="priority"></param>
  73. ///<param name="onRemoveCallback"></param>
  74. public abstract void Insert(string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback onRemoveCallback);
  75. ///<summary>
  76. ///</summary>
  77. ///<param name="key"></param>
  78. ///<returns></returns>
  79. public abstract object Remove(string key);
  80. IEnumerator IEnumerable.GetEnumerator()
  81. {
  82. return GetEnumerator();
  83. }
  84. }
  85. }