Show / Hide Table of Contents

Class SessionFilter

Manages session state in work context

Inheritance
System.Object
DisposableObject
ApplicationComponent
WorkFilter
SessionFilter
Implements
IApplicationComponent
System.IDisposable
INamed
IOrdered
Inherited Members
WorkFilter.CONFIG_FILTER_SECTION
WorkFilter.Name
WorkFilter.Order
WorkFilter.Server
WorkFilter.Dispatcher
WorkFilter.Handler
WorkFilter.NetGate
WorkFilter.FilterWork(WorkContext, IList<WorkFilter>, Int32)
WorkFilter.ToString()
WorkFilter.InvokeNextWorker(WorkContext, IList<WorkFilter>, Int32)
ApplicationComponent.Destructor()
ApplicationComponent.AllComponents
ApplicationComponent.GetAppComponentBySID(UInt64)
ApplicationComponent.GetAppComponentByCommonName(String)
ApplicationComponent.ComponentSID
ApplicationComponent.ComponentStartTime
ApplicationComponent.ComponentCommonName
ApplicationComponent.ComponentDirector
DisposableObject.DisposeAndNull<T>(T)
DisposableObject.DisposeStarted
DisposableObject.Disposed
DisposableObject.EnsureObjectNotDisposed()
DisposableObject.Dispose()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Namespace: NFX.Wave.Filters
Assembly: NFX.Wave.dll
Syntax
public class SessionFilter : WorkFilter, IApplicationComponent, IDisposable, INamed, IOrdered

Constructors

SessionFilter(WorkDispatcher, IConfigSectionNode)

Declaration
public SessionFilter(WorkDispatcher dispatcher, IConfigSectionNode confNode)
Parameters
Type Name Description
WorkDispatcher dispatcher
IConfigSectionNode confNode

SessionFilter(WorkDispatcher, String, Int32)

Declaration
public SessionFilter(WorkDispatcher dispatcher, string name, int order)
Parameters
Type Name Description
WorkDispatcher dispatcher
System.String name
System.Int32 order

SessionFilter(WorkHandler, IConfigSectionNode)

Declaration
public SessionFilter(WorkHandler handler, IConfigSectionNode confNode)
Parameters
Type Name Description
WorkHandler handler
IConfigSectionNode confNode

SessionFilter(WorkHandler, String, Int32)

Declaration
public SessionFilter(WorkHandler handler, string name, int order)
Parameters
Type Name Description
WorkHandler handler
System.String name
System.Int32 order

Fields

CONF_COOKIE_NAME_ATTR

Declaration
public const string CONF_COOKIE_NAME_ATTR = "session-cookie-name"
Field Value
Type Description
System.String

CONF_SESSION_TIMEOUT_MS_ATTR

Declaration
public const string CONF_SESSION_TIMEOUT_MS_ATTR = "session-timeout-ms"
Field Value
Type Description
System.String

DEFAULT_COOKIE_NAME

Declaration
public const string DEFAULT_COOKIE_NAME = "SID"
Field Value
Type Description
System.String

DEFAULT_SESSION_TIMEOUT_MS

Declaration
public const int DEFAULT_SESSION_TIMEOUT_MS = 300000
Field Value
Type Description
System.Int32

NETGATE_NEWSESSION_VAR_NAME

Use this name in access deny rule in NetGate setup to block user who create too many sessions

Declaration
public const string NETGATE_NEWSESSION_VAR_NAME = "newSession"
Field Value
Type Description
System.String

Properties

CookieName

Specifies session cookie name

Declaration
public string CookieName { get; set; }
Property Value
Type Description
System.String

SessionTimeoutMs

Specifies session inactivity timeout in milliseconds. For default implementation: assign 0 to use App.ObjectStore default object timeout value

Declaration
public int SessionTimeoutMs { get; set; }
Property Value
Type Description
System.Int32

Methods

DecodeSessionID(WorkContext, String, Boolean, out UInt64)

Override to decode session ID GUID from string representation. Return null if conversion not possible

Declaration
protected virtual Guid? DecodeSessionID(WorkContext work, string id, bool hasApiHeaders, out ulong idSecret)
Parameters
Type Name Description
WorkContext work
System.String id
System.Boolean hasApiHeaders
System.UInt64 idSecret
Returns
Type Description
System.Nullable<System.Guid>

DoFilterWork(WorkContext, IList<WorkFilter>, Int32)

Declaration
protected override sealed void DoFilterWork(WorkContext work, IList<WorkFilter> filters, int thisFilterIndex)
Parameters
Type Name Description
WorkContext work
System.Collections.Generic.IList<WorkFilter> filters
System.Int32 thisFilterIndex
Overrides
WorkFilter.DoFilterWork(WorkContext, IList<WorkFilter>, Int32)

EncodeSessionID(WorkContext, WaveSession, Boolean)

Override to encode session ID GUID into string representation

Declaration
protected virtual string EncodeSessionID(WorkContext work, WaveSession session, bool hasApiHeaders)
Parameters
Type Name Description
WorkContext work
WaveSession session
System.Boolean hasApiHeaders
Returns
Type Description
System.String

ExtractSessionID(WorkContext, out UInt64)

Extracts session ID from work request. The default implementation uses cookie

Declaration
protected virtual Guid? ExtractSessionID(WorkContext work, out ulong idSecret)
Parameters
Type Name Description
WorkContext work
System.UInt64 idSecret
Returns
Type Description
System.Nullable<System.Guid>

FetchExistingOrMakeNewSession(WorkContext, Boolean)

Override to get session object using whatever parameters are available in response context (i.e. a cookie), or create a new one if 'onlyExisting'=false(default)

Declaration
protected virtual void FetchExistingOrMakeNewSession(WorkContext work, bool onlyExisting = false)
Parameters
Type Name Description
WorkContext work
System.Boolean onlyExisting

MakeNewSession(WorkContext)

Called to create a new session

Declaration
protected WaveSession MakeNewSession(WorkContext work)
Parameters
Type Name Description
WorkContext work
Returns
Type Description
WaveSession

MakeNewSessionInstance(WorkContext)

Override to create a new session instance

Declaration
protected virtual WaveSession MakeNewSessionInstance(WorkContext work)
Parameters
Type Name Description
WorkContext work
Returns
Type Description
WaveSession

StowSession(WorkContext)

Override to put session object back into whatever storage medium is provided (i.e. DB) and respond with appropriate session identifying token(i.e. a cookie)

Declaration
protected virtual void StowSession(WorkContext work)
Parameters
Type Name Description
WorkContext work

TryMakeSessionFromExistingLongTermToken(WorkContext)

Override in session filters that support long-term tokens. This method tries to re-create "existing" session from a valid long-term token, otherwise null should be returned (the base implementation)

Declaration
protected virtual WaveSession TryMakeSessionFromExistingLongTermToken(WorkContext work)
Parameters
Type Name Description
WorkContext work
Returns
Type Description
WaveSession

Implements

IApplicationComponent
System.IDisposable
INamed
IOrdered

Extension Methods

MiscUtils.NonNull<T>(T, Func<Exception>, String)
ObjectValueConversion.AsString(Object, String, ConvertErrorHandling)
ObjectValueConversion.AsNonNullOrEmptyString(Object)
ObjectValueConversion.AsLaconicConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsJSONConfig(Object, ConfigSectionNode, String, ConvertErrorHandling)
ObjectValueConversion.AsXMLConfig(Object, ConfigSectionNode, ConvertErrorHandling)
ObjectValueConversion.AsChar(Object, Char, ConvertErrorHandling)
ObjectValueConversion.AsNullableChar(Object, Nullable<Char>, ConvertErrorHandling)
ObjectValueConversion.AsByte(Object, Byte, ConvertErrorHandling)
ObjectValueConversion.AsNullableByte(Object, Nullable<Byte>, ConvertErrorHandling)
ObjectValueConversion.AsSByte(Object, SByte, ConvertErrorHandling)
ObjectValueConversion.AsNullableSByte(Object, Nullable<SByte>, ConvertErrorHandling)
ObjectValueConversion.AsShort(Object, Int16, ConvertErrorHandling)
ObjectValueConversion.AsNullableShort(Object, Nullable<Int16>, ConvertErrorHandling)
ObjectValueConversion.AsUShort(Object, UInt16, ConvertErrorHandling)
ObjectValueConversion.AsNullableUShort(Object, Nullable<UInt16>, ConvertErrorHandling)
ObjectValueConversion.AsInt(Object, Int32, ConvertErrorHandling)
ObjectValueConversion.AsNullableInt(Object, Nullable<Int32>, ConvertErrorHandling)
ObjectValueConversion.AsUInt(Object, UInt32, ConvertErrorHandling)
ObjectValueConversion.AsNullableUInt(Object, Nullable<UInt32>, ConvertErrorHandling)
ObjectValueConversion.AsLong(Object, Int64, ConvertErrorHandling)
ObjectValueConversion.AsNullableLong(Object, Nullable<Int64>, ConvertErrorHandling)
ObjectValueConversion.AsULong(Object, UInt64, ConvertErrorHandling)
ObjectValueConversion.AsNullableULong(Object, Nullable<UInt64>, ConvertErrorHandling)
ObjectValueConversion.AsDouble(Object, Double, ConvertErrorHandling)
ObjectValueConversion.AsNullableDouble(Object, Nullable<Double>, ConvertErrorHandling)
ObjectValueConversion.AsFloat(Object, Single, ConvertErrorHandling)
ObjectValueConversion.AsNullableFloat(Object, Nullable<Single>, ConvertErrorHandling)
ObjectValueConversion.AsDecimal(Object, Decimal, ConvertErrorHandling)
ObjectValueConversion.AsNullableDecimal(Object, Nullable<Decimal>, ConvertErrorHandling)
ObjectValueConversion.AsBool(Object, Boolean, ConvertErrorHandling)
ObjectValueConversion.AsNullableBool(Object, Nullable<Boolean>, ConvertErrorHandling)
ObjectValueConversion.AsGUID(Object, Guid, ConvertErrorHandling)
ObjectValueConversion.AsNullableGUID(Object, Nullable<Guid>, ConvertErrorHandling)
ObjectValueConversion.AsDateTime(Object)
ObjectValueConversion.AsDateTime(Object, DateTime, ConvertErrorHandling)
ObjectValueConversion.AsNullableDateTime(Object, Nullable<DateTime>, ConvertErrorHandling)
ObjectValueConversion.AsGDID(Object)
ObjectValueConversion.AsGDID(Object, GDID, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDID(Object, Nullable<GDID>, ConvertErrorHandling)
ObjectValueConversion.AsGDIDSymbol(Object)
ObjectValueConversion.AsGDIDSymbol(Object, GDIDSymbol, ConvertErrorHandling)
ObjectValueConversion.AsNullableGDIDSymbol(Object, Nullable<GDIDSymbol>, ConvertErrorHandling)
ObjectValueConversion.AsTimeSpan(Object)
ObjectValueConversion.AsTimeSpan(Object, TimeSpan, ConvertErrorHandling)
ObjectValueConversion.AsNullableTimeSpan(Object, Nullable<TimeSpan>, ConvertErrorHandling)
ObjectValueConversion.AsEnum<TEnum>(Object, TEnum, ConvertErrorHandling)
ObjectValueConversion.AsNullableEnum<TEnum>(Object, Nullable<TEnum>, ConvertErrorHandling)
ObjectValueConversion.AsUri(Object, Uri, ConvertErrorHandling)
JSONExtensions.ToJSON(Object, JSONWritingOptions)
JSONExtensions.ToJSON(Object, TextWriter, JSONWritingOptions)
JSONExtensions.ToJSON(Object, Stream, JSONWritingOptions, Encoding)
ErlObject.ToErlObject(Object)
ErlObject.ToErlObject(Object, ErlTypeOrder, Boolean)
Back to top Copyright © 2006-2018 Agnicore Inc
Generated by DocFX