Skip to content

Instantly share code, notes, and snippets.

View lhall690's full-sized avatar

lhall690

  • Everest Media Ltd
View GitHub Profile
[CODE LANGUAGE=CSHARP]
PUBLIC STATIC CLASS CACHEMANAGER {
PRIVATE STATIC CONCURRENTDICTIONARY < STRING, OBJECT > CACHELOCKS =
NEW CONCURRENTDICTIONARY < STRING, OBJECT > ();
PUBLIC STATIC EXPENSIVEOBJECT GETEXPENSIVEOBJECT() {
VAR CACHE = HTTPCONTEXT.CURRENT.CACHE;
VAR OBJ = CACHE[THE_KEY] AS EXPENSIVEOBJECT;
IF (OBJ == NULL) {
//GET A LOCK
VAR LOCKOBJECT = GETCACHELOCK(THE_KEY);
[CODE LANG=CSHARP]
PUBLIC STATIC CLASS CACHEMANAGER
{
PUBLIC STATIC EXPENSIVEOBJECT GETEXPENSIVEOBJECT()
{
VAR CACHE = HTTPCONTEXT.CURRENT.CACHE;
VAR OBJ = CACHE[THE_KEY] AS EXPENSIVEOBJECT;
IF (OBJ == NULL)
{
OBJ = GETITFROMSOURCE();