System.Net.Cache.RequestCacheValidator.FetchResponse C# (CSharp) Method

FetchResponse() private method

private FetchResponse ( WebResponse fetchResponse ) : void
fetchResponse System.Net.WebResponse
return void
        internal void FetchResponse(WebResponse fetchResponse)
        {
            ++_ResponseCount;
            _Response = fetchResponse;
        }

Usage Example

        //
        // This optional method is only for protocols supporting a revalidation concept
        // For a retried request this method must be called again.
        //
        internal CacheValidationStatus GetRevalidateStatus(WebResponse response, Stream responseStream)
        {
            if (response == null)
            {
                throw new ArgumentNullException("response");
            }

            if (_ProtocolStatus == CacheValidationStatus.DoNotUseCache)
            {
                return(CacheValidationStatus.DoNotUseCache);
            }

            // If we returned cached response, switch the state to not call cache anymore.
            if (_ProtocolStatus == CacheValidationStatus.ReturnCachedResponse)
            {
                _ProtocolStatus = CacheValidationStatus.DoNotUseCache;
                return(_ProtocolStatus);
            }

            try {
                if (Logging.On)
                {
                    Logging.Enter(Logging.RequestCache, this, "GetRevalidateStatus", (_Validator == null? null: _Validator.Request));
                }

                _Validator.FetchResponse(response);

                if (_ProtocolStatus != CacheValidationStatus.Continue && _ProtocolStatus != CacheValidationStatus.RetryResponseFromServer)
                {
                    if (Logging.On)
                    {
                        Logging.PrintInfo(Logging.RequestCache, SR.GetString(SR.net_log_cache_revalidation_not_needed, "GetRevalidateStatus()"));
                    }
                    return(_ProtocolStatus);
                }
                CheckRetrieveOnResponse(responseStream);
            }
            finally {
                if (Logging.On)
                {
                    Logging.Exit(Logging.RequestCache, this, "GetRevalidateStatus", "result = " + _ProtocolStatus.ToString());
                }
            }
            return(_ProtocolStatus);
        }