powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / асинхронный запрос HttpWebRequest
10 сообщений из 10, страница 1 из 1
асинхронный запрос HttpWebRequest
    #39511225
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть рабочий код синхронного запроса на сервер. подскажите, как сделать асинхронный?
на vb6 делал, всё работает, на vb.net нет инфы толковой
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Dim textpisbma As String = "ewttауцауц135АУАУ!№;%:^"
        Dim postData As String = "hoz9in=" & Uri.EscapeDataString(hoz9in) & "&rab=" & rab & "&text=" & Uri.EscapeDataString(textpisbma)
        Dim request As HttpWebRequest
        Dim response As HttpWebResponse
        request = CType(WebRequest.Create("http://site/sender.php"), HttpWebRequest)
        request.Accept = "image/gif, image/x-xbitmap, image/jpeg, 
                           image/pjpeg, application/x-shockwave-flash,
                           application/vnd.ms-excel, 
                           application/vnd.ms-powerpoint,
                           application/msword, */*"

        request.Headers.Add("Accept-Language", "ru")
        request.ContentType = "application/x-www-form-urlencoded"
        request.Method = "POST"
        request.AllowAutoRedirect = False
        Dim requestStream As Stream
        requestStream = request.GetRequestStream()
        Dim postBytes As Byte() = System.Text.Encoding.GetEncoding(65001).GetBytes(postData)
        requestStream.Write(postBytes, 0, postBytes.Length)
        requestStream.Close()
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39511237
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerok,

Толковая инфа .

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39511361
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39512337
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны, как я понимаю:
Код: vbnet
1.
2.
3.
Dim result As IAsyncResult = _
            CType(request.BeginGetRequestStream(AddressOf GetRequestStreamCallback, request), _
            IAsyncResult)

- посылается запрос на сервер.
а GetRequestStreamCallback? отчет о том, что запрос послан? зачем он вообще нужен, если ответ запрашиваем отдельно
Код: vbnet
1.
2.
Dim response As HttpWebResponse = CType(request.EndGetResponse(asynchronousResult), _
           HttpWebResponse)

. запутался
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39512419
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerok,
Вы сделали рабочий кусок? Работает?
Т.е. сначала делаете демку hello world, а потом думаете что и зачем.
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39512438
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123,

запустил вариант Сон Веры Павловны. работает в точности так же, как мой вариант, т.е. синхронно. на время отправки запроса всё зависает и отмирает только после получения ответа
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39512561
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот пример может чем-то помочь
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        public async void Button1_Click(object sender, EventArgs e)
        {
            await Upload("XXXXXXXX");
        }

        async Task<string> Upload(string certificate)
        {
            using (var client = new WebClient())
            {
                client.Headers[HttpRequestHeader.ContentType] = "application/json";
                var data = "{ Content: \"" + certificate + "\" }";
                var url = ServerAddress + "/CurrentUserCert/Upload";
                return await client.UploadStringTaskAsync(url, "POST", data);
            }
        }

...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39512563
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qlewerokPetro123,

запустил вариант Сон Веры Павловны. работает в точности так же, как мой вариант, т.е. синхронно. на время отправки запроса всё зависает и отмирает только после получения ответа
Прям один в один тот, что по ссылке на MSDN? Там, если что, используется
Код: c#
1.
private static ManualResetEvent allDone = new ManualResetEvent(false);


и в конце с комментарием для самых догадливых:
Код: c#
1.
2.
3.
4.
        // Keep the main thread from continuing while the asynchronous
        // operation completes. A real world application
        // could do something useful such as updating its user interface. 
        allDone.WaitOne();
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39513057
qlewerok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны, да, убрал три лишние строчки, всё заработало, спасибо!)
...
Рейтинг: 0 / 0
асинхронный запрос HttpWebRequest
    #39513064
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
iMrTidyqlewerok,

Толковая инфа .
Я полагаю, что надо было перенести в http://www.sql.ru/forum/asp-net
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / асинхронный запрос HttpWebRequest
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]