System.Net.ConnectionReturnResult.SetResponses C# (CSharp) Method

SetResponses() static private method

static private SetResponses ( ConnectionReturnResult returnResult ) : void
returnResult ConnectionReturnResult
return void
        internal static void SetResponses(ConnectionReturnResult returnResult) {
            if (returnResult==null){
                return;
            }

            GlobalLog.Print("ConnectionReturnResult#" + ValidationHelper.HashString(returnResult) + "::SetResponses() count=" + returnResult.m_Context.Count.ToString());
            for (int i = 0; i < returnResult.m_Context.Count; i++)
            {
                try {
                    HttpWebRequest request = returnResult.m_Context[i].Request;
#if DEBUG
                    CoreResponseData coreResponseData = returnResult.m_Context[i].CoreResponse as CoreResponseData;
                    if (coreResponseData == null)
                        GlobalLog.DebugRemoveRequest(request);
#endif
                    request.SetAndOrProcessResponse(returnResult.m_Context[i].CoreResponse);
                }
                catch(Exception e) {
                    //ASYNCISSUE
                    // on error, with more than one callback need to queue others off to another thread

                    GlobalLog.Print("ConnectionReturnResult#" + ValidationHelper.HashString(returnResult) + "::Exception"+e);
                    returnResult.m_Context.RemoveRange(0,(i+1));
                    if (returnResult.m_Context.Count > 0)
                    {
                        ThreadPool.UnsafeQueueUserWorkItem(s_InvokeConnectionCallback, returnResult);
                    }
                    throw;
                }
            }

            returnResult.m_Context.Clear();
        }