Распространенная проблема - забыть закрыть поток запросов. Один из симптомов, который вы увидите, заключается в том, что запрос никогда не делается. Вполне вероятно, что запись действительно завершается, но, поскольку вы не закрыли поток запросов, вызов HttpWebRequest.GetResponse()
не выполняется.
Попробуйте следующее и посмотрите, имеет ли это значение:
using (var requestStream = myRequest.GetRequestStream())
{
// write to the request stream here
}
// Now try to get the response.
Другая возможная проблема - размер данных. Во-первых, вы уверены, что сервер может обрабатывать загрузку 15 МБ? Во-вторых, если вы делаете это при медленном соединении, отправка 15 МБ может занять некоторое время. У меня есть то, что считается «быстрым» восходящим соединением со скоростью 1,5 Мбит / с. Это в лучшем случае 0,15 мегабайта в секунду. Отправка 15 мегабайт займет полторы минуты.
Еще одна возможность - время ожидания запроса. Вы хотите просмотреть свойства HttpWebRequest.Timeout
и ReadWriteTimeout
.