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
- KeyGestureValueSerializer.cs
- UnmanagedHandle.cs
- OperationValidationEventArgs.cs
- WebRequestModuleElementCollection.cs
- MobileUserControl.cs
- GetWinFXPath.cs
- MultiByteCodec.cs
- SqlDataSourceRefreshSchemaForm.cs
- RoutedEventValueSerializer.cs
- EmptyControlCollection.cs
- MetadataPropertyvalue.cs
- RootContext.cs
- SchemaImporterExtensionsSection.cs
- __ConsoleStream.cs
- ByteConverter.cs
- ToolBarTray.cs
- RegexBoyerMoore.cs
- DocumentOrderQuery.cs
- CookieProtection.cs
- WsdlInspector.cs
- MergeFilterQuery.cs
- PageSettings.cs
- WCFModelStrings.Designer.cs
- Style.cs
- RestClientProxyHandler.cs
- CryptoKeySecurity.cs
- WebPartZoneBaseDesigner.cs
- ColumnMapVisitor.cs
- XmlSchemaParticle.cs
- PropVariant.cs
- HtmlHistory.cs
- AssemblySettingAttributes.cs
- DataListItemCollection.cs
- XmlStreamStore.cs
- KnownAssemblyEntry.cs
- AuthorizationRule.cs
- UnsafeNativeMethods.cs
- ToolStripOverflowButton.cs
- StatusBarAutomationPeer.cs
- GestureRecognizer.cs
- HiddenFieldPageStatePersister.cs
- XmlAttributeAttribute.cs
- HashMembershipCondition.cs
- UnauthorizedAccessException.cs
- TransactionInformation.cs
- XamlSerializationHelper.cs
- AutomationIdentifier.cs
- NotFiniteNumberException.cs
- EngineSiteSapi.cs
- FileDialog_Vista.cs
- AssociatedControlConverter.cs
- ValidationSummary.cs
- CommandEventArgs.cs
- OpenTypeLayout.cs
- SQLUtility.cs
- PerfCounters.cs
- GifBitmapEncoder.cs
- EdmSchemaError.cs
- StaticFileHandler.cs
- MouseWheelEventArgs.cs
- Typeface.cs
- HyperLinkField.cs
- ClockGroup.cs
- TypeLibraryHelper.cs
- PlanCompiler.cs
- XmlDataSourceView.cs
- CatalogPartDesigner.cs
- datacache.cs
- ServicePoint.cs
- AlphaSortedEnumConverter.cs
- NumberSubstitution.cs
- SiteMapNode.cs
- DelegatingTypeDescriptionProvider.cs
- CodeChecksumPragma.cs
- DateTimeStorage.cs
- AtomPub10CategoriesDocumentFormatter.cs
- ToolBar.cs
- DataGridViewRowHeaderCell.cs
- ProcessHostFactoryHelper.cs
- OutputCacheModule.cs
- ListenerElementsCollection.cs
- XmlWriter.cs
- EntityModelBuildProvider.cs
- WebPermission.cs
- ListMarkerLine.cs
- PackWebRequestFactory.cs
- BulletedListDesigner.cs
- BufferModeSettings.cs
- SmiRequestExecutor.cs
- TrustSection.cs
- MouseButton.cs
- Durable.cs
- ToolZone.cs
- FrameworkContextData.cs
- MdImport.cs
- GeneralTransformGroup.cs
- XmlSerializationWriter.cs
- SetterBaseCollection.cs
- LookupBindingPropertiesAttribute.cs
- _NegoState.cs