Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / xsp / System / Web / State / ISessionStateStore.cs / 1 / ISessionStateStore.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * SessionStateStoreProviderBase * */ namespace System.Web.SessionState { using System.Xml; using System.Security.Permissions; using System.Configuration.Provider; using System.Collections.Specialized; [FlagsAttribute()] internal enum SessionStateItemFlags : int { None = 0x00000000, Uninitialized = 0x00000001, IgnoreCacheItemRemoved = 0x00000002 } [FlagsAttribute()] public enum SessionStateActions : int { None = 0x00000000, InitializeItem = 0x00000001 } // This interface is used by SessionStateModule to read/write the session state data [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public abstract class SessionStateStoreProviderBase : ProviderBase { public abstract void Dispose(); // Called by SessionStateModule to notify the provider that Session_End is defined // in global.asax, and so when an item expires, it should call the expireCallback // If the provider does not support session expiry, it should return false. public abstract bool SetItemExpireCallback(SessionStateItemExpireCallback expireCallback); // Called at the beginning of the AcquireRequestState event public abstract void InitializeRequest(HttpContext context); // Get and return a SessionStateStoreData. // Please note that we are implementing a reader/writer lock mechanism. // // If successful: // - returns the item // // If not found: // - set 'locked' to false // - returns null // // If the item is already locked by another request: // - set 'locked' to true // - set 'lockAge' to how long has the item been locked // - set 'lockId' to the context of the lock // - returns null public abstract SessionStateStoreData GetItem(HttpContext context, String id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions); // Get and lock a SessionStateStoreData. // Please note that we are implementing a reader/writer lock mechanism. // // If successful: // - set 'lockId' to the context of the lock // - returns the item // // If not found: // - set 'locked' to false // - returns null // // If the item is already locked by another request: // - set 'locked' to true // - set 'lockAge' to how long has the item been locked // - set 'lockId' to the context of the lock // - returns null public abstract SessionStateStoreData GetItemExclusive(HttpContext context, String id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions); // Unlock an item locked by GetExclusive // 'lockId' is the lock context returned by previous call to GetExclusive public abstract void ReleaseItemExclusive(HttpContext context, String id, object lockId); // Write an item. // Note: The item is originally obtained by GetExclusive // Because SessionStateModule will release (by ReleaseExclusive) am item if // it has been locked for too long, so it is possible that the request calling // Set() may have lost the lock to someone else already. This can be // discovered by comparing the supplied lockId with the lockId value // stored with the state item. public abstract void SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, object lockId, bool newItem); // Remove an item. See the note in Set. public abstract void RemoveItem(HttpContext context, String id, object lockId, SessionStateStoreData item); // Reset the expire time of an item based on its timeout value public abstract void ResetItemTimeout(HttpContext context, String id); // Create a brand new SessionStateStoreData. The created SessionStateStoreData must have // a non-null ISessionStateItemCollection. public abstract SessionStateStoreData CreateNewStoreData(HttpContext context, int timeout); public abstract void CreateUninitializedItem(HttpContext context, String id, int timeout); // Called during EndRequest event public abstract void EndRequest(HttpContext context); internal virtual void Initialize(string name, NameValueCollection config, IPartitionResolver partitionResolver) { } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class SessionStateStoreData { ISessionStateItemCollection _sessionItems; HttpStaticObjectsCollection _staticObjects; int _timeout; public SessionStateStoreData(ISessionStateItemCollection sessionItems, HttpStaticObjectsCollection staticObjects, int timeout) { _sessionItems = sessionItems; _staticObjects = staticObjects; _timeout = timeout; } virtual public ISessionStateItemCollection Items { get { return _sessionItems; } } virtual public HttpStaticObjectsCollection StaticObjects { get { return _staticObjects; } } virtual public int Timeout { get { return _timeout; } set { _timeout = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * SessionStateStoreProviderBase * */ namespace System.Web.SessionState { using System.Xml; using System.Security.Permissions; using System.Configuration.Provider; using System.Collections.Specialized; [FlagsAttribute()] internal enum SessionStateItemFlags : int { None = 0x00000000, Uninitialized = 0x00000001, IgnoreCacheItemRemoved = 0x00000002 } [FlagsAttribute()] public enum SessionStateActions : int { None = 0x00000000, InitializeItem = 0x00000001 } // This interface is used by SessionStateModule to read/write the session state data [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public abstract class SessionStateStoreProviderBase : ProviderBase { public abstract void Dispose(); // Called by SessionStateModule to notify the provider that Session_End is defined // in global.asax, and so when an item expires, it should call the expireCallback // If the provider does not support session expiry, it should return false. public abstract bool SetItemExpireCallback(SessionStateItemExpireCallback expireCallback); // Called at the beginning of the AcquireRequestState event public abstract void InitializeRequest(HttpContext context); // Get and return a SessionStateStoreData. // Please note that we are implementing a reader/writer lock mechanism. // // If successful: // - returns the item // // If not found: // - set 'locked' to false // - returns null // // If the item is already locked by another request: // - set 'locked' to true // - set 'lockAge' to how long has the item been locked // - set 'lockId' to the context of the lock // - returns null public abstract SessionStateStoreData GetItem(HttpContext context, String id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions); // Get and lock a SessionStateStoreData. // Please note that we are implementing a reader/writer lock mechanism. // // If successful: // - set 'lockId' to the context of the lock // - returns the item // // If not found: // - set 'locked' to false // - returns null // // If the item is already locked by another request: // - set 'locked' to true // - set 'lockAge' to how long has the item been locked // - set 'lockId' to the context of the lock // - returns null public abstract SessionStateStoreData GetItemExclusive(HttpContext context, String id, out bool locked, out TimeSpan lockAge, out object lockId, out SessionStateActions actions); // Unlock an item locked by GetExclusive // 'lockId' is the lock context returned by previous call to GetExclusive public abstract void ReleaseItemExclusive(HttpContext context, String id, object lockId); // Write an item. // Note: The item is originally obtained by GetExclusive // Because SessionStateModule will release (by ReleaseExclusive) am item if // it has been locked for too long, so it is possible that the request calling // Set() may have lost the lock to someone else already. This can be // discovered by comparing the supplied lockId with the lockId value // stored with the state item. public abstract void SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, object lockId, bool newItem); // Remove an item. See the note in Set. public abstract void RemoveItem(HttpContext context, String id, object lockId, SessionStateStoreData item); // Reset the expire time of an item based on its timeout value public abstract void ResetItemTimeout(HttpContext context, String id); // Create a brand new SessionStateStoreData. The created SessionStateStoreData must have // a non-null ISessionStateItemCollection. public abstract SessionStateStoreData CreateNewStoreData(HttpContext context, int timeout); public abstract void CreateUninitializedItem(HttpContext context, String id, int timeout); // Called during EndRequest event public abstract void EndRequest(HttpContext context); internal virtual void Initialize(string name, NameValueCollection config, IPartitionResolver partitionResolver) { } } [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)] public class SessionStateStoreData { ISessionStateItemCollection _sessionItems; HttpStaticObjectsCollection _staticObjects; int _timeout; public SessionStateStoreData(ISessionStateItemCollection sessionItems, HttpStaticObjectsCollection staticObjects, int timeout) { _sessionItems = sessionItems; _staticObjects = staticObjects; _timeout = timeout; } virtual public ISessionStateItemCollection Items { get { return _sessionItems; } } virtual public HttpStaticObjectsCollection StaticObjects { get { return _staticObjects; } } virtual public int Timeout { get { return _timeout; } set { _timeout = value; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- JournalEntryListConverter.cs
- ObjectComplexPropertyMapping.cs
- UInt16Storage.cs
- DbDataRecord.cs
- SignedXml.cs
- ConnectionManagementSection.cs
- EntityPropertyMappingAttribute.cs
- AxDesigner.cs
- FunctionDetailsReader.cs
- ConfigurationValidatorBase.cs
- StreamReader.cs
- DataControlFieldCollection.cs
- EdmItemError.cs
- RegularExpressionValidator.cs
- FtpCachePolicyElement.cs
- StatusBar.cs
- GridViewCancelEditEventArgs.cs
- NativeObjectSecurity.cs
- X509Utils.cs
- BuildProviderCollection.cs
- PreviewControlDesigner.cs
- GlobalizationSection.cs
- EnvelopedPkcs7.cs
- ListViewGroup.cs
- TextEditorThreadLocalStore.cs
- X509CertificateCollection.cs
- CornerRadiusConverter.cs
- InputElement.cs
- GradientBrush.cs
- DocComment.cs
- Margins.cs
- VideoDrawing.cs
- WebException.cs
- InternalConfigSettingsFactory.cs
- StylusTouchDevice.cs
- ToolStripRenderer.cs
- SafeFileMappingHandle.cs
- localization.cs
- SmiTypedGetterSetter.cs
- SimpleType.cs
- WpfMemberInvoker.cs
- HttpRequestCacheValidator.cs
- Hyperlink.cs
- UnsafeNativeMethods.cs
- ValidatorCollection.cs
- DataBindEngine.cs
- NamespaceDecl.cs
- DiscriminatorMap.cs
- TemplateLookupAction.cs
- NotCondition.cs
- Events.cs
- RegexReplacement.cs
- NestPullup.cs
- ThicknessAnimationUsingKeyFrames.cs
- SoapAttributes.cs
- RequestQueryProcessor.cs
- GlobalizationSection.cs
- Action.cs
- MsiStyleLogWriter.cs
- BehaviorEditorPart.cs
- PersianCalendar.cs
- IIS7UserPrincipal.cs
- NullReferenceException.cs
- QueuePathEditor.cs
- IDispatchConstantAttribute.cs
- SystemDiagnosticsSection.cs
- CardSpaceException.cs
- HtmlElementCollection.cs
- SeparatorAutomationPeer.cs
- TextRunProperties.cs
- EntityDesignerDataSourceView.cs
- CodeGenerationManager.cs
- XmlSchemaChoice.cs
- StrongNamePublicKeyBlob.cs
- HitTestParameters3D.cs
- FormViewPageEventArgs.cs
- CleanUpVirtualizedItemEventArgs.cs
- Point4DConverter.cs
- MatcherBuilder.cs
- Int64Storage.cs
- WindowsPen.cs
- AnnotationResource.cs
- Util.cs
- XmlWellformedWriter.cs
- Brushes.cs
- UIElementAutomationPeer.cs
- ApplicationId.cs
- HttpValueCollection.cs
- SoapFault.cs
- SQLDecimal.cs
- HtmlLink.cs
- SystemUdpStatistics.cs
- NativeCompoundFileAPIs.cs
- XmlUrlResolver.cs
- ParallelDesigner.xaml.cs
- WindowPattern.cs
- GeneralTransform3D.cs
- DispatcherFrame.cs
- CustomCredentialPolicy.cs
- ClientConfigurationHost.cs