Servus,
ich habe hier ein ganz seltsames Phänomen, was unregelmäßig in einer Webanwendung auftritt, und was ich nicht ganz nachvollziehen kann. Ich speichere Guids mit einem eindeutigen Key im Cache. Vor dem Auslesen prüfe ich, ob das Objekt vorhanden ist, z.B.:
if (Bll.Utilities.Caching.ItemExists(string.Format("LanguageId:{0}", key)))
{
return (Guid)context.Cache[string.Format("LanguageId:{0}", key)];
}
ItemExists schaut wie folgt aus:
public static bool ItemExists(string key)
{
bool returnValue = false;
bool.TryParse((string)ConfigurationManager.AppSettings["CachingEnabled"], out returnValue);
if (returnValue)
{
if (HttpContext.Current.Cache[key] != null)
return true;
}
return false;
}
Beim Auftreten des Fehlers liefert ItemExists() true, dann läuft er rein und geht beim Auslesen krachen:
return (Guid)context.Cache[string.Format("LanguageId:{0}", key)];
Das passiert wie gesagt nur unregelmäßig, in der einen Anwendung mal häufiger, in anderen gar nicht. Außerdem ist es nicht auf diese Stelle im Code beschränkt, d.h. es tritt anderswo ebenfalls auf, überall ist es aber das gleiche: Check ob Objekt existiert, wenn ja weise zu - bumm.
Jemand eine Idee?