couchbaselabs / Couchbase.Extensions

Extensions for Couchbase for .Net Core
Apache License 2.0
27 stars 14 forks source link

Couchbase.Extensions.Session - GetObject extension throws exception if object not in session #59

Open mgroves opened 5 years ago

mgroves commented 5 years ago

For example, if there is no "user" object in the session store yet, then this:

HttpContext.Session.GetObject<dynamic>("user");

Will throw a NullReferenceException. A workaround would be:

if(HttpContext.Session.Get("user") != null)
    model.User = HttpContext.Session.GetObject<dynamic>("user");

But that's probably too much extra code, and worse case maybe it results in 2 get operations, when only 1 is necessary?

Maybe a TryGetObject extension is in order? Or some sort of overload of GetObject to supply a default value? Or both?