Многопоточность большого количества веб-запросов в C #

У меня есть программа, в которой мне нужно создать большое количество папок на внешнем сайте sharepoint (внешнее означает, что я не могу использовать объектную модель sharepoint). Для этого хорошо работают веб-запросы, но простое выполнение их по одному (отправка запроса, ожидание ответа, повторение) довольно медленное. Я решил сделать запросы многопоточными, чтобы ускорить процесс. Программа значительно ускорилась, но через некоторое время (1-2 минуты или около того) в System.Net.Sockets.Socket.DoConnect (EndPoint, endPointSnapshot, SocketAddre ss socketAddress)
в System.Net.Sockets.Socket.InternalConnect (EndPoint remoteEP)
в System.Net.ServicePoint.ConnectSocketInternal (Boolean connectFailure, Socket s4, Socket s6, Socket & socket, IPAddress & address, ConnectSocketState state, m это нормально или есть способ получше?

public class ExtendedController : Controller
{
    protected virtual void HandleHttpRequest(AuthorizationContext filterContext)
    {
        if (!string.Equals(filterContext.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase))
        {
            throw new InvalidOperationException("Cannot post between https and http.");
        }
        string url = "http://" + filterContext.HttpContext.Request.Url.Host + filterContext.HttpContext.Request.RawUrl;
        filterContext.Result = new RedirectResult(url);
    }

    protected override void OnAuthorization(AuthorizationContext filterContext)
    {
        base.OnAuthorization(filterContext);
        object[] attributes = filterContext.ActionDescriptor.GetCustomAttributes(true);
        if (!attributes.Any(a => a is RequireHttpsAttribute))
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }
            if (filterContext.HttpContext.Request.IsSecureConnection)
            {
                this.HandleHttpRequest(filterContext);
            }
        }
    }
}
8
задан Mark 25 November 2010 в 13:59
поделиться