.NET HTTPClient Асинхронные ограничения

У меня есть небольшое приложение .Net 4.5 C #, которое считывает информацию из источника данных, а затем отправляет эту информацию на веб-сайт, который представляет собой сайт .NET 4.5 Web API с простым контроллером. Контроллер получает данные и помещает их в базу данных.

Следующее работает для меня, настолько быстро, насколько приложение может прочитать, оно может написать, и все заканчивается в БД:

    public static void PostDataToWebApi(MyDataClass tData)
    {
        HttpResponseMessage s = null;

        try
        {
            s = client.PostAsJsonAsync("/api/Station/Collector", tData).Result;
            s.EnsureSuccessStatusCode();
        }
        catch (Exception e)
        {
            Console.WriteLine("ERROR (ClientPost): " + e.ToString());
        }
    }

Следующее НЕ работает. Он отправляет около тысячи с лишним записей, а затем выдает несколько ошибок с сообщением «задача была отменена», но затем примерно через 10 секунд возобновляет обработку:

    public static async void PostDataToWebApi(MyDataClass tData)
    {
        HttpResponseMessage s = null;

        try
        {
            s = await client.PostAsJsonAsync("/api/Station/Collector", tData);
            s.EnsureSuccessStatusCode();
        }
        catch (Exception e)
        {
            Console.WriteLine("ERROR (ClientPost): " + e.ToString());
        }
    }

Полная ошибка:

    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
    at IICE_DataCollector_Remote.Program.<PostDataToWebApi>d__7.MoveNext() in e:\Users\TestUser.TEST\Documents\Visual Studio 2012\Projects\Test_App-trunk\TestCollector\Program.cs:line 475

Какие-нибудь быстрые решения для этого? Из того, что я могу сказать, у него кончается что-то, потоки, сокеты, кто знает :-)

Любые указатели будут оценены, я бы хотел, чтобы это работало, поскольку вы можете представить, что синхронное выполнение POST значительно медленнее, чем асинхронное.

Просто чтобы быть уверенным, что это не моя машина, локальный антивирус или сеть, которые я пробовал на сервере W2k8 R2, виртуальном гостевом рабочем столе Windows 7 (свежая сборка) и машине с Windows 8, с тем же результатом.

Больше информации Я проверил это с частичным успехом при подключении к локальной сети с меньшим набором данных (10 000 записей) и DefaultConnectionLimit, равным 100. Но при работе с 500 000 записей при отправке на удаленный сервер через Интернет (все еще низкая задержка 25 мс -50мс) У меня не было никакого успеха.

Заранее благодарю за любую помощь :-)

Ответы на вопрос(1)

Ваш ответ на вопрос