//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ /* * HttpSessionState * * Copyright (c) 1998-1999, Microsoft Corporation * */ namespace System.Web.SessionState { using System.Threading; using System.Runtime.InteropServices; using System.Web; using System.Collections; using System.Collections.Specialized; using System.Text; using System.Globalization; using System.Security.Permissions; /// /// [To be supplied.] /// public enum SessionStateMode { /// /// [To be supplied.] /// Off = 0, /// /// [To be supplied.] /// InProc = 1, /// /// [To be supplied.] /// StateServer = 2, /// /// [To be supplied.] /// SQLServer = 3, /// /// [To be supplied.] /// Custom = 4 }; public interface IHttpSessionState { string SessionID { get; } /* * The length of a session before it times out, in minutes. */ /// /// [To be supplied.] /// int Timeout { get; set; } /* * Is this a new session? */ /// /// [To be supplied.] /// bool IsNewSession { get; } /* * Is session state in a separate process */ /// /// [To be supplied.] /// SessionStateMode Mode { get; } /* * Is session state cookieless? */ bool IsCookieless { get; } HttpCookieMode CookieMode { get; } /* * Abandon the session. * */ /// /// [To be supplied.] /// void Abandon(); /// /// [To be supplied.] /// int LCID { get; set; } /// /// [To be supplied.] /// int CodePage { get; set; } /// /// [To be supplied.] /// HttpStaticObjectsCollection StaticObjects { get; } /// /// [To be supplied.] /// Object this[String name] { get; set; } /// /// [To be supplied.] /// Object this[int index] { get; set; } /// /// [To be supplied.] /// void Add(String name, Object value); /// /// [To be supplied.] /// void Remove(String name); /// /// [To be supplied.] /// void RemoveAt(int index); /// /// [To be supplied.] /// void Clear(); /// /// [To be supplied.] /// void RemoveAll(); /// /// [To be supplied.] /// int Count { get; } /// /// [To be supplied.] /// NameObjectCollectionBase.KeysCollection Keys { get; } /// /// [To be supplied.] /// IEnumerator GetEnumerator(); /// /// [To be supplied.] /// void CopyTo(Array array, int index); /// /// [To be supplied.] /// Object SyncRoot { get; } /// /// [To be supplied.] /// bool IsReadOnly { get; } /// /// [To be supplied.] /// bool IsSynchronized { get; } } public sealed class HttpSessionState : ICollection { private IHttpSessionState _container; internal HttpSessionState(IHttpSessionState container) { _container = container; } internal IHttpSessionState Container { get { return _container; } } /* * The Id of the session. */ /// /// [To be supplied.] /// public String SessionID { get {return _container.SessionID;} } /* * The length of a session before it times out, in minutes. */ /// /// [To be supplied.] /// public int Timeout { get {return _container.Timeout;} set {_container.Timeout = value;} } /* * Is this a new session? */ /// /// [To be supplied.] /// public bool IsNewSession { get {return _container.IsNewSession;} } /* * Is session state in a separate process */ /// /// [To be supplied.] /// public SessionStateMode Mode { get {return _container.Mode;} } /* * Is session state cookieless? */ public bool IsCookieless { get {return _container.IsCookieless;} } public HttpCookieMode CookieMode { get {return _container.CookieMode; } } /* * Abandon the session. * */ /// /// [To be supplied.] /// public void Abandon() { _container.Abandon(); } /// /// [To be supplied.] /// public int LCID { get { return _container.LCID; } set { _container.LCID = value; } } /// /// [To be supplied.] /// public int CodePage { get { return _container.CodePage; } set { _container.CodePage = value; } } /// /// [To be supplied.] /// public HttpSessionState Contents { get {return this;} } /// /// [To be supplied.] /// public HttpStaticObjectsCollection StaticObjects { get { return _container.StaticObjects;} } /// /// [To be supplied.] /// public Object this[String name] { get { return _container[name]; } set { _container[name] = value; } } /// /// [To be supplied.] /// public Object this[int index] { get {return _container[index];} set {_container[index] = value;} } /// /// [To be supplied.] /// public void Add(String name, Object value) { _container[name] = value; } /// /// [To be supplied.] /// public void Remove(String name) { _container.Remove(name); } /// /// [To be supplied.] /// public void RemoveAt(int index) { _container.RemoveAt(index); } /// /// [To be supplied.] /// public void Clear() { _container.Clear(); } /// /// [To be supplied.] /// public void RemoveAll() { Clear(); } /// /// [To be supplied.] /// public int Count { get {return _container.Count;} } /// /// [To be supplied.] /// public NameObjectCollectionBase.KeysCollection Keys { get {return _container.Keys;} } /// /// [To be supplied.] /// public IEnumerator GetEnumerator() { return _container.GetEnumerator(); } /// /// [To be supplied.] /// public void CopyTo(Array array, int index) { _container.CopyTo(array, index); } /// /// [To be supplied.] /// public Object SyncRoot { get { return _container.SyncRoot;} } /// /// [To be supplied.] /// public bool IsReadOnly { get { return _container.IsReadOnly;} } /// /// [To be supplied.] /// public bool IsSynchronized { get { return _container.IsSynchronized;} } } }