Lussatite.FeatureManagement.SessionManagers 1.6.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Lussatite.FeatureManagement.SessionManagers --version 1.6.0                
NuGet\Install-Package Lussatite.FeatureManagement.SessionManagers -Version 1.6.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Lussatite.FeatureManagement.SessionManagers" Version="1.6.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Lussatite.FeatureManagement.SessionManagers --version 1.6.0                
#r "nuget: Lussatite.FeatureManagement.SessionManagers, 1.6.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Lussatite.FeatureManagement.SessionManagers as a Cake Addin
#addin nuget:?package=Lussatite.FeatureManagement.SessionManagers&version=1.6.0

// Install Lussatite.FeatureManagement.SessionManagers as a Cake Tool
#tool nuget:?package=Lussatite.FeatureManagement.SessionManagers&version=1.6.0                

Lussatite.FeatureManagement.SessionManagers

Various read-only ISessionManager implementations which are compatible with .NET Standard 2.0. These implementations do not write back to the underlying value store.

ISessionManager Implementations

While these ISessionManager implementations are written for Lussatite.FeatureManagement, they are compatible with the Microsoft ISessionManager interface and could be used with the Microsoft FeatureManager implementation.

ClaimsPrincipalSessionManager

A read-only ISessionManager implementation that examines ClaimsPrincipal claims of type "feature_flag" to obtain the feature value. The value of the claim is either the feature name to indicate true, or the feature name prefixed with an exclamation point ("!") to indicate false.

SqlSessionManager

An ISessionManager implementation that uses user-provided DbCommand objects to obtain/update its values. Write-back is optional for the SetValue() call.

In order to construct the SqlSessionManager, you need to provide it with a SqlSessionManagerSettings object. See the SessionManagers.SqlClient or SessionManagers.SQLite for default setting objects which already have the necessary SQL statements.

var settings = new SQLServerSessionManagerSettings
{
    ConnectionString = "some connection string",
    EnableSetValueCommand = true,
};
var sqlSessionManager = new SqlSessionManager(settings);
// inject the sqlSessionManager into the LussatiteLazyCacheFeatureManager constructor

CachedSqlSessionManager

A cached ISessionManager implementation that uses a user-provided DbCommand to obtain its values. The results for a particular feature flag name will be cached for 60 seconds. This object is configured using a CachedSqlSessionManagerSettings object.

It uses LazyCache under the hood.

StaticAnswerSessionManager

An ISessionManager implementation which always returns the same answer for the feature name. It's really only useful in testing scenarios where you need to validate both control pathways in the code.

Target

  • .NET Standard 2.0

References

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Lussatite.FeatureManagement.SessionManagers:

Package Downloads
RimDev.AspNetCore.FeatureFlags

A library for strongly typed feature flags in .NET Standard 2.0.

Lussatite.FeatureManagement.SessionManagers.SqlClient

A set of SqlSessionManagerSettings implementations for .NET Standard 2.0 which interface with Microsoft SQL Server.

Lussatite.FeatureManagement.SessionManagers.SQLite

A set of SqlSessionManagerSettings implementations for .NET Standard 2.0 which interface with SQLite.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.6.3 6,618 6/29/2022
1.6.2 2,826 6/28/2022
1.6.1 907 6/28/2022
1.6.0 885 6/15/2022
1.5.0 904 6/9/2022
1.4.1 434 5/24/2022
1.4.0 415 5/24/2022
1.3.1 414 5/23/2022
1.3.0 414 5/22/2022
1.2.0 406 5/20/2022