
lazy and cache
By:
ronklein on
Aug 12th, 2012 | syntax:
C# | size: 0.36 KB | hits: 18 | expires: Never
public static MyData GetMyDataFromDb() { ... }
Lazy<MyData> lazy = null;
lock(myStaticLock) {
lazy = (Lazy<MyData>)Cache["myKey"];
if (null == lazy) {
lazy = new Lazy<MyData>(GetMyDataFromDb, LazyThreadSafetyMode.ExecutionAndPublication);
Cache["myKey"] = lazy;
}
}
// now we have an instance of Lazy<MyData> what so ever
MyData data = lazy.Value; // !!