** Обновление У меня есть решение ниже, но оно скорее ручное ... если есть более простой способ, я бы предпочел этот ответ.
Я хочу записать время выполнения и загрузки веб-страницыи я пытаюсь использовать метод WebClient.DownloadDataAsync для публикации данных на странице и получения результата.
Я знаю, что существует множество способов публикации с использованием объектов WebClient или WebRequest, но ни один из них не отправляет DownloadProgressChangedсобытие.Это событие является ключевым, так как я хочу отслеживать ход загрузки, который находится в диапазоне 30 мегабайт +.
Я думаю, что лучший способ сделать это - создать заголовок вручную, но япопасть в тупик.В основном я не могу добавить данные в запрос.
WebClient client = new WebClient();
//!!!!*****no idea how to add the following data to the request
string data = "test1=value";
client.Headers.Add( "POST", "/About.aspx HTTP/1.1" );
client.Headers.Add( "Host", "http://localhost:12065" );
client.Headers.Add( "Content-Type", "application/x-www-form-urlencoded" );
client.Headers.Add( "Content-length", data.Length.ToString() );
client.DownloadProgressChanged += OnDownloadProgressChanged;
client.DownloadDataCompleted += OnDownloadDataCompleted;
client.DownloadDataAsync( new Uri( "http://localhost:12065/About.aspx" ) );
Я открыт для других решений или получаю заголовок в этом примере, чтобы работать так, как если бы клиент отправлял POST.