Class SessionProxy
Provides the same interface as a session object, plus a basic interface to a session manager.
Inherited Members
Namespace: EmbedIO.Sessions
Syntax
public sealed class SessionProxy : ISessionProxy, ISession
Remarks
A session proxy can be used just as if it were a session object. A session is automatically created wherever its data are accessed.
Fields
None
A "dummy" ISessionProxy interface that will always behave as if no session manager has been defined.
Useful to initialize non-nullable fields or properties of type ISessionProxy.
Declaration
public static readonly ISessionProxy None
Field Value
| Type | Description |
|---|---|
| ISessionProxy |
Properties
Count
Gets the number of key/value pairs contained in a session.
Declaration
public int Count { get; }
Property Value
| Type | Description |
|---|---|
| Int32 | The number of key/value pairs contained in the object that implements ISession. |
Duration
Gets the time interval, starting from LastActivity, after which the session expires.
Declaration
public TimeSpan Duration { get; }
Property Value
| Type | Description |
|---|---|
| TimeSpan | The expiration time. |
Exists
Gets a value indicating whether a session exists for the current context.
Declaration
public bool Exists { get; }
Property Value
| Type | Description |
|---|---|
| Boolean | true if a session exists; otherwise, false. |
Id
A unique identifier for the session.
Declaration
public string Id { get; }
Property Value
| Type | Description |
|---|---|
| String | The unique identifier for this session. |
See Also
IsEmpty
Gets a value that indicates whether a session is empty.
Declaration
public bool IsEmpty { get; }
Property Value
| Type | Description |
|---|---|
| Boolean | true if the object that implements ISession is empty, i.e. contains no key / value pairs; otherwise, false. |
Item[String]
Gets or sets the value associated with the specified key.
Note that a session does not store null values; therefore, setting this property to null
has the same effect as removing key from the dictionary.
Declaration
public object this[string key] { get; set; }
Parameters
| Type | Name | Description |
|---|---|---|
| String | key | The key of the value to get or set. |
Property Value
| Type | Description |
|---|---|
| Object | The value associated with the specified key, if |
LastActivity
Gets the UTC date and time of last activity on the session.
Declaration
public DateTime LastActivity { get; }
Property Value
| Type | Description |
|---|---|
| DateTime | The UTC date and time of last activity on the session. |
Methods
Clear()
Removes all keys and values from a session.
Declaration
public void Clear()
ContainsKey(String)
Determines whether a session contains an element with the specified key.
Declaration
public bool ContainsKey(string key)
Parameters
| Type | Name | Description |
|---|---|---|
| String | key | The key to locate in the object that implements ISession. |
Returns
| Type | Description |
|---|---|
| Boolean | true if the object that implements ISession contains an element with the key; otherwise, false . |
Delete()
Deletes the session for the current context.
Declaration
public void Delete()
Regenerate()
Deletes the session for the current context and creates a new one.
Declaration
public void Regenerate()
TakeSnapshot()
Takes and returns a snapshot of the contents of a session at the time of calling.
Declaration
public IReadOnlyList<KeyValuePair<string, object>> TakeSnapshot()
Returns
| Type | Description |
|---|---|
| IReadOnlyList<KeyValuePair<String, Object>> | An |
Remarks
The objects contained in the session data are copied by reference, not cloned; therefore you should be aware that their state may change even after the snapshot is taken.
TryGetValue(String, out Object)
Gets the value associated with the specified key.
Declaration
public bool TryGetValue(string key, out object value)
Parameters
| Type | Name | Description |
|---|---|---|
| String | key | The key whose value to get. |
| Object | value | When this method returns, the value associated with the specified |
Returns
| Type | Description |
|---|---|
| Boolean | true if the object that implements ISession contains an element with the specified key; otherwise, false. |
TryRemove(String, out Object)
Attempts to remove and return the value that has the specified key from a session.
Declaration
public bool TryRemove(string key, out object value)
Parameters
| Type | Name | Description |
|---|---|---|
| String | key | The key of the element to remove and return. |
| Object | value | When this method returns, the value removed from the object that implements ISession, if the key is found; otherwise, null. This parameter is passed uninitialized. |
Returns
| Type | Description |
|---|---|
| Boolean | true if the value was removed successfully; otherwise, false. |