System.Web.SessionState.InProcSessionItem.Dispose C# (CSharp) Method

Dispose() public method

public Dispose ( ) : void
return void
		public void Dispose ()
		{
			if (rwlock != null) {
				rwlock.Dispose ();
				rwlock = null;
			}
			staticItems = null;
			if (items != null)
				items.Clear ();
			items = null;
		}
		

Usage Example

Example #1
0
        void OnSessionRemoved(string key, object value, CacheItemRemovedReason reason)
        {
            if (expireCallback != null)
            {
                if (key.StartsWith(CachePrefix, StringComparison.OrdinalIgnoreCase))
                {
                    key = key.Substring(CachePrefixLength);
                }

                if (value is SessionStateStoreData)
                {
                    expireCallback(key, (SessionStateStoreData)value);
                }
                else if (value is InProcSessionItem)
                {
                    InProcSessionItem item = (InProcSessionItem)value;
                    if (item.resettingTimeout)
                    {
                        item.resettingTimeout = false;
                        return;
                    }

                    expireCallback(key,
                                   new SessionStateStoreData(
                                       item.items,
                                       item.staticItems,
                                       item.timeout));
                    item.Dispose();
                }
                else
                {
                    expireCallback(key, null);
                }
            }
            else if (value is InProcSessionItem)
            {
                InProcSessionItem item = (InProcSessionItem)value;
                if (item.resettingTimeout)
                {
                    item.resettingTimeout = false;
                    return;
                }

                item.Dispose();
            }
        }