dotnet/aspnetcore

LoadAsync on Session - when _isNewSessionKey is true

Open

#20,898 opened on Apr 16, 2020

View on GitHub
 (10 comments) (0 reactions) (0 assignees)C# (10,653 forks)batch import
Perfaffected-fewarea-middlewarebreaking-changeenhancementhelp wantedseverity-nice-to-have

Repository metrics

Stars
 (37,933 stars)
PR merge metrics
 (Avg merge 16d 9h) (258 merged PRs in 30d)

Description

https://github.com/dotnet/aspnetcore/blob/8b000d961cd3ccfcc8090fb8368fd6598bace978/src/Middleware/Session/src/DistributedSession.cs

Should Load/LoadAsync be a no-op when _isNewSessionKey is true. Taking the advice to call LoadAsync prior to accessing the session with get/trygetvalue/set I would of thought we'd guard against unnecsssary chitchat to the cache if we know the session is new?

I though about doing Request.Cookies["sesscoookie"] != null then await LoadAsync but then doing Get/Set/Id/IsAvailable will simply call load anyway if not _loaded isnt marked.

Contributor guide