ValueDescription
CustomSession state is using a custom data store to store session-state information.
InProcSession state is in process with an ASP.NET worker process.
OffSession state is disabled.
SQLServerSession state is using an out-of-process SQL Server database to store state information.
StateServerSession state is using the out-of-process ASP.NET state service to store state information.
Ну ок, значение по умолчанию InProc - зачем вообще записывать состоянии сессии на сервер сессий?
разве это так плохо, оставлять worker-процесс работающим на время сессии? Или на выгрузке worker-процесса много экономится?
Если имеется в виду, что сервер сессий один, а фронтендов много,
то что мешает оправлять одну и ту же сессию на один и тот же фронтенд,
а перераспределение нагрузки делать запуском новых сессий на незагруженных серверах?
В этом случае не возникает ситуации, когда одна сессия нужна двум серверам и сервер сессий не нужен.
Но раз так сделали, то была какая-то причина, какие-то соображения?
In the .NET Framework version 1.1, if the mode attribute was set to SQLServer,
and client impersonation was in effect, ASP.NET connected to the computer running SQL Server
using the client credentials from the ASP.NET client impersonation.
Начиная с .NET Framework версии 2.0, useHostingIdentity = true по-умолчанию
If true,
ASP.NET connects to the session-state store using one of the following process credentials:
- The hosting process, which is ASPNET for Microsoft Internet Information Services (IIS) versions 5 and 5.1
or NETWORK SERVICE for Microsoft Windows Server 2003.
- The application impersonation identity, which is when the following configuration is used:
<identity impersonate="true" userName="domain\username" password="secure password" />
timeout
Specifies the number of minutes a session can be idle before it is abandoned.
Что значит "abandoned"? Что при этом происходит с session data, если они удаляются, то кем?
The timeout attribute cannot be set to a value that is greater than 525,600 minutes (1 year)
for the in-process and state-server modes.
Optional TimeSpan attribute. The default is 20 minutes.
The session timeout configuration setting applies only to ASP.NET pages.
Changing the session timeout value does not affect the session time-out for ASP pages.
Similarly, changing the session time-out for ASP pages does not affect the session time-out for ASP.NET pages.
customProvider - String. Optional attribute. Empty string ("") is the default. Attribute is new in the .NET Framework version 2.0.
Specifies the name of a custom session-state provider to use for storing and retrieving session-state data.
The provider is specified in the providers element.
The provider is used only when the session-state mode is set to the Custom value.
For more information, see Session-State Modes.
По-умолчанию используется имя базы данных ASPState. Значение атрибута allowCustomSqlDatabase = false по-умолчанию.
Начиная с .NET Framework version 2.0, чтобы использовать своё имя базы данных,
надо задать allowCustomSqlDatabase = true и добавить название БД в параметр sqlConnectionString
названия параметров в строке соединения - initial catalog или database
partitionResolverType - partition session-state data across multiple backend nodes when in SQL or state-server mode.