/// <summary> /// 添加到HTTP响应池 /// </summary> /// <param name="response">HTTP响应</param> internal static void Push(ref TmphResponse response) { var value = Interlocked.Exchange(ref response, null); if (value != null && value.isPool) { value.Clear(); TmphTypePool<TmphResponse>.Push(value); } }
/// <summary> /// 复制HTTP响应 /// </summary> /// <param name="response">HTTP响应</param> /// <returns>HTTP响应</returns> internal static TmphResponse Copy(TmphResponse response) { var value = Get(true); if (response != null) { value.CacheControl = response.CacheControl; value.ContentEncoding = response.ContentEncoding; value.ContentType = response.ContentType; value.ETag = response.ETag; value.LastModified = response.LastModified; value.ContentDisposition = response.ContentDisposition; var count = response.Cookies.Count; if (count != 0) value.Cookies.Add(response.Cookies.array, 0, count); } return value; }