Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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 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 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 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HelpEvent.cs
- SystemResourceHost.cs
- ComponentRenameEvent.cs
- NamedObject.cs
- BulletedList.cs
- TaiwanLunisolarCalendar.cs
- PolyLineSegment.cs
- DragEvent.cs
- WindowsGraphics.cs
- DataExpression.cs
- TextPointer.cs
- DataPagerFieldItem.cs
- OracleConnectionString.cs
- SourceFileBuildProvider.cs
- LabelEditEvent.cs
- SqlBulkCopyColumnMapping.cs
- UndoUnit.cs
- EmptyEnumerator.cs
- InputScopeConverter.cs
- ErrorHandler.cs
- ScalarType.cs
- Panel.cs
- OleDbFactory.cs
- MenuScrollingVisibilityConverter.cs
- AlphaSortedEnumConverter.cs
- CopyCodeAction.cs
- ProfileModule.cs
- DependencyPropertyKey.cs
- RecordManager.cs
- DocumentPageTextView.cs
- WebPartTransformerAttribute.cs
- WebPartConnectionsConnectVerb.cs
- CollectionViewGroup.cs
- ListViewGroup.cs
- SafeArrayTypeMismatchException.cs
- WorkflowCreationContext.cs
- JumpList.cs
- SoapHelper.cs
- EventRoute.cs
- SocketException.cs
- LocatorBase.cs
- EncryptedData.cs
- SqlDataSourceDesigner.cs
- AuthenticationModuleElementCollection.cs
- SchemaConstraints.cs
- AuthenticationModulesSection.cs
- XmlDeclaration.cs
- NoPersistScope.cs
- ErrorBehavior.cs
- IIS7UserPrincipal.cs
- NameValueFileSectionHandler.cs
- WebPart.cs
- UnsafeNativeMethods.cs
- HttpCacheVary.cs
- GradientStop.cs
- SoapElementAttribute.cs
- DrawTreeNodeEventArgs.cs
- ConfigurationElementProperty.cs
- TrackingDataItem.cs
- KeyInfo.cs
- CompositeFontInfo.cs
- NameValuePermission.cs
- TaiwanCalendar.cs
- FieldMetadata.cs
- OleDbRowUpdatingEvent.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- FileDialog_Vista.cs
- SqlBuilder.cs
- XmlNotation.cs
- ReferentialConstraint.cs
- FileUtil.cs
- ExtensionSimplifierMarkupObject.cs
- KeyEventArgs.cs
- EventSinkHelperWriter.cs
- PlainXmlDeserializer.cs
- TaskScheduler.cs
- TrackingCondition.cs
- IntSecurity.cs
- MetadataAssemblyHelper.cs
- Point3DAnimationUsingKeyFrames.cs
- ApplicationFileParser.cs
- UIElementHelper.cs
- IdentifierCollection.cs
- SmtpCommands.cs
- CodeTypeMember.cs
- WebPartConnectionsEventArgs.cs
- ImportOptions.cs
- DelimitedListTraceListener.cs
- EventHandlerList.cs
- ParseElementCollection.cs
- CallContext.cs
- FileDialog.cs
- DataGridViewAdvancedBorderStyle.cs
- FillErrorEventArgs.cs
- XmlSchema.cs
- Message.cs
- MarkupCompiler.cs
- NumberSubstitution.cs
- DbXmlEnabledProviderManifest.cs
- Events.cs