Пример #1
0
        public NItem FetchPage(NOutputCache module)
        {
            NItem result = null;

            lock (_req_mutex)
            {
                if (_requestInProgres)
                {
                    System.Threading.Monitor.Wait(_req_mutex);
                    return(_result);
                }
                _requestInProgres = true;
            }

            try
            {
                result = module.Cache.Get(_pageId, NOutputCache.Reader.GetPageSettings(_pageId)) as NItem;
            }
            finally
            {
                lock (_req_mutex)
                {
                    _requestInProgres = false;
                    _result           = result;
                    System.Threading.Monitor.PulseAll(_req_mutex);
                }
            }
            return(_result);
        }
Пример #2
0
 /// <summary>
 /// Checks if varyByAll is set
 /// </summary>
 /// <param name="varyBy">varyBy string</param>
 /// <returns>true if varyByAll, false otherwise</returns>
 private bool VaryByAll(string varyBy)
 {
     if (!NOutputCache.IsNullOrEmpty(varyBy))
     {
         return(varyBy.Trim() == "*");
     }
     return(false);
 }
Пример #3
0
        /// <summary>
        /// Parse varyBy
        /// </summary>
        /// <param name="varyBy">varyBy string</param>
        /// <returns>varyBy array</returns>
        private string[] VaryBy(string varyBy)
        {
            string[] varyByArray = new string[0];

            if (!NOutputCache.IsNullOrEmpty(varyBy))
            {
                varyByArray = varyBy.Trim().Split(',');

                ///Trim the result, incase there are spaces
                for (int i = 0; i < varyByArray.Length; i++)
                {
                    varyByArray[i] = varyByArray[i].Trim();
                }
            }

            return(varyByArray);
        }