Skip to main content
Financial Benchmarking and Insights Tool

Session State

The web app needs to maintain/store user data across requests - specifically modifications to comparator sets.
Given these actions can be performed by any user (authenticated and non-authenticated) options for storing this data were limited.

Cookies store was considered, however their size should be kept to a minimum with most browsers restrict cookie size to 4096 bytes.
Whilst there are options to work around this, it would introduce dependencies on client side scripting.

Session state is being used for storage of user data while the user browses a web app, more information can be found here.

Configuration

Several configuration options have been implemented;

  • In-memory
  • Cosmos
  • edis

In-memory

This is the default option when no configuration has been set.

Cosmos

The follow settings will enable Cosmos Db to be used as the backing data store.

"SessionData" : {
    "Using" : "Cosmos",
    "Settings" : {
        "ConnectionString" : "[INSERT CONNECTION STRING VALUE]",
        "ContainerName": "[INSERT CONTAINER NAME VALUE]",
        "DatabaseName": "[INSERT DATABASE NAME VALUE]"
    }
}

Redis

The follow settings will enable Redis to be used as the backing data store.

"SessionData" : {
    "Using" : "Redis",
    "Settings" : {
        "ConnectionString" : "[INSERT CONNECTION STRING VALUE]",
        "InstanceName": "[INSERT INSTANCE NAME VALUE]"
    }
}