コード例 #1
0
        public override void ReleaseItemExclusive(System.Web.HttpContext context, string id, object lockId)
        {
            counters.IncrementTotalOperPc();

            #region Updating item in memcached
            counters.IncrementMemcachedPc();
            MemcachedHolder objHolder = this._client.Get <MemcachedHolder>(id);

            if (objHolder != null)
            {
                objHolder.Locked = false;
                objHolder.LockId = (int)lockId;
                counters.IncrementMemcachedPc();
                this._client.Store(StoreMode.Set, id, objHolder);
            }
            #endregion

            if (this._bIsDbNone == false)
            {
                #region Updating Database
                counters.IncrementDbPc();
                using (IDbOperations objDb = DbFactory.CreateDbOperations(_strDbType, _strConn))
                {
                    objDb.ReleaseItem(id, ApplicationName, (int)lockId, _objConfig.Timeout.Minutes);
                }
                #endregion
            }
        }