Creé un SessionStateStoreProvider
basado en Redis que se puede encontrar en GitHub usando ServiceStatck.Redis
como el cliente (en lugar de Booksleeve).
Se puede instalar a través de NuGet con Install-Package Harbour.RedisSessionStateStore
.
Encontré algunas peculiaridades con el enfoque de @NathanD. En mi implementación, los bloqueos se almacenan con el valor de la sesión en lugar de en una clave separada (menos viajes de ida y vuelta a Redis). Además, porque usa ServiceStack.Redis
, puede usar conexiones agrupadas.
Finalmente, se prueba. Este fue mi mayor desvío del enfoque de @NathanD. No había forma de realmente saber si funcionó sin ejecutar manualmente cada caso de uso.