protected virtual WebQueryAsyncResult ExecuteGetOrDeleteAsync(GetDeleteHeadOptions method, string url, object userState) { WebResponse = null; var request = BuildGetDeleteHeadOptionsWebRequest(method, url); var state = new Triplet<WebRequest, object, object> { First = request, Second = null, Third = userState }; var args = new WebQueryRequestEventArgs(url); OnQueryRequest(args); var inner = request.BeginGetResponse(GetAsyncResponseCallback, state); RegisterAbortTimer(request, inner); var result = new WebQueryAsyncResult { InnerResult = inner }; return result; }
protected virtual WebQueryAsyncResult ExecuteGetOrDeleteAsync(GetDeleteHeadOptions method, string url, string prefixKey, ICache cache, TimeSpan slidingExpiration, object userState) { WebResponse = null; var request = BuildGetDeleteHeadOptionsWebRequest(method, url); var key = CreateCacheKey(prefixKey, url); return ExecuteGetOrDeleteAsync(cache, key, url, slidingExpiration, request, userState); }