J'ai créé un SessionStateStoreProvider
basé sur Redis qui peut être trouvé sur GitHub en utilisant ServiceStatck.Redis
en tant que client (plutôt que Booksleeve).
Il peut être installé via NuGet avec Install-Package Harbour.RedisSessionStateStore
.
J'ai trouvé quelques bizarreries avec l'approche de @NathanD. Dans mon implémentation, les verrous sont stockés avec la valeur de la session plutôt que dans une clé séparée (moins d'allers-retours vers Redis). De plus, parce qu'il utilise ServiceStack.Redis
, il peut utiliser des connexions groupées.
Enfin, c'est testé. C'était ma plus grande désillusion de l'approche de @NathanD. Il n'y avait aucun moyen de réellement savoir si cela a fonctionné sans parcourir manuellement chaque cas d'utilisation.