मेरे पास एक बिल्डर क्लास है जो एक उदाहरण को लागू करने योग्य उदाहरण बनाता है। जब भी आइटम बनाने के लिए पहले से ही कैश में है, तो निर्माता उस उदाहरण को बदलेगा। मेरा सवाल यह है कि, क्या कैश डिस्पोजेक्ट() विधि को उस IDISposable आइटम्स पर कॉल करेगा जब इसे बेदखल किया जाता है या क्या मुझे कॉलबैक कैशइटेम पॉलिसी पर उस व्यवहार को स्पष्ट रूप से कोड करना होगा। RemovedCallback?सिस्टम होगा। Runtime.Caching.MemoryCache बेदखल होने पर IDisposable आइटम का निपटान?
7
A
उत्तर
8
नहीं Dispose
नहीं कहा जाता है। परीक्षण करना आसान है।
public class TestClass : IDisposable
{
public void Dispose()
{
Console.WriteLine("disposed");
}
}
MemoryCache _MemoryCache = new MemoryCache("TEST");
void Test()
{
_MemoryCache.Add("key",
new TestClass(),
new CacheItemPolicy()
{
AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(10),
RemovedCallback = (_) => { Console.WriteLine("removed"); }
});
}
संबंधित मुद्दे
- 1. क्यों निपटान()? मेमोरी रिसाव नहीं होगा?
- 2. एक IDisposable IDisposable
- 3. सत्र युक्त IDisposable
- 4. एल 2 बेदखल पर एल 1 कैश से कैश बेदखल
- 5. IDisposable प्रश्न
- 6. IDISposable पैटर्न का एक समस्याग्रस्त उदाहरण?
- 7. IDISposable
- 8. सिस्टम.ServiceModel.ServiceHost लागू करता है IDISposable लेकिन निपटान सार्वजनिक नहीं है
- 9. IDisposable
- 10. IDisposable
- 11. शून्य पर सेट करके निपटान?
- 12. प्रतिक्रियाशील पर्यवेक्षण सदस्यता निपटान
- 13. कैसे है IDisposable नेट में FileStream पर लागू 1.1
- 14. विनफॉर्म पर नियंत्रण का निपटान
- 15. टाइमस्टैंप (पंक्तिवर्ती) अतिप्रवाह होने पर क्या होगा?
- 16. निपटान()?
- 17. IDISposable GC.SuppressFinalize (यह) स्थान
- 18. IDisposable
- 19. सी ++ एक्सएक्स अनुमोदित होने पर नामस्थान tr1 का क्या होगा?
- 20. IDISposable
- 21. Coverity, Enumerable.Where (इस ...), और IDisposable
- 22. IDISposable, क्या यह वास्तव में
- 23. निपटान विधि
- 24. जेबॉस-कैश क्षेत्र से बेदखल होने से कैसे बचें?
- 25. System.Net.HttpListener केवल स्पष्ट रूप से IDISposable
- 26. DI: IDISposable ऑब्जेक्ट्स का जीवन संभालना
- 27. सहेजे गए आइटम गायब होने पर
- 28. कैश किए गए IDisposable ऑब्जेक्ट्स का प्रबंधन कैसे करें?
- 29. सिस्टम का निपटान कब करें। बच्चे के कार्यों के साथ थ्रेडिंग। कार्य?
- 30. application_endrequest पर ऑब्जेक्ट संदर्भ का निपटान
@RobSiklos कृपया परीक्षण करने से पहले कोड को ठीक न करें। बात ठीक थी। लैम्ब्डा को एक पैरामीटर की आवश्यकता होती है जिसका मैं उपयोग नहीं करता हूं। मैंने जवाब वापस कर दिया। – I4V
बहुत खेद है - मैंने सोचा था कि यह एक टाइपो – RobSiklos
था, मैं इस परीक्षण को एक यूनिट टेस्ट के रूप में रखता हूं, ढांचे के बाद के संस्करण इस व्यवहार को बदल सकते हैं, और आपको एक परीक्षण पसंद आएगा जो यह दर्शाता है कि यह बदल गया है! –