Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
1

Как правильнее добавлять и удалять заголовки сообщений?

09.07.2018, 21:32. Просмотров 525. Ответов 3
Метки нет (Все метки)


Как правильнее добавлять и удалять заголовки сообщений: делать экземпляр HttpRequestMessage или добавлять и удалять непосредственно в экземпляр HttpClient. Т.е. какой из двух вариантов более правильный:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
request = new HttpRequestMessage(HttpMethod.Get, new Uri(url));
                request.Headers.Add("apisign", apiSign);
                var response = client.SendAsync(request)// client это объект HttpClient
                    .ConfigureAwait(false);
                var result = response.GetAwaiter().GetResult();
                result.EnsureSuccessStatusCode();
                HttpStatusCode responseStatus = result.StatusCode;
                if (responseStatus != HttpStatusCode.OK) return null;
                try
                {
                    result.EnsureSuccessStatusCode();
                }
                catch { return null; }
                finally { request.Dispose(); }
или
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
string message;
            try
            {               
                client.DefaultRequestHeaders.Add("apisign", sign);               
                var execResult = client.GetStringAsync(uri);
                message = execResult.Result;
            }
            catch
            {
                return null;
            }
            finally
            { client.DefaultRequestHeaders.Remove("apisign"); }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.07.2018, 21:32
Ответы с готовыми решениями:

Создать клас актеры. К класу можна добавлять и удалять актеров (консоль)
Создать клас актеры. К класу можна добавлять и удалять актеров. У актера должна присутствовать...

Разработать программу, которая позволяет просматривать, добавлять, изменять, удалять записи в таблице
Помогите осилить ! Создать в Access ,базу данных «Мои друзья», содержащую одну таблицу Друзья...

Необходим тип данных для хранения в нем массива чисел с возможностью добавлять и удалять
Здравствуйте, мне необходим тип данных для хранения в нем массива чисел с возможностью добавлять,...

Как добавлять и удалять элементы из очереди?
Не нашел методы Push и Pop для очереди.

__________________
Помогаю в написании курсовых работ и дипломов здесь.
Записывайтесь на профессиональные курсы С#-разработчиков‌
3
Эксперт .NET
14852 / 11239 / 2949
Регистрация: 17.09.2011
Сообщений: 18,825
09.07.2018, 21:55 2
Если HttpClient один на все приложение, то добавляйте в запрос, в противном случае можно и напрямую в клиент.
Так же в первом случае в клиент добавляются заголовки, общие для всех запросов.

Если у вас многократно производится подключение к одному и тому же адресу, то лучше держать один статический клиент на каждый уникальный хост - он потокобезопасен.
2
-7 / 3 / 1
Регистрация: 22.09.2017
Сообщений: 242
09.07.2018, 21:59  [ТС] 3
client один на все приложение, но не статик. Адресов много разных. Не могли бы пояснить, почему использование HttpRequestMessage в этом случае предпочтительнее.
0
Эксперт .NET
14852 / 11239 / 2949
Регистрация: 17.09.2011
Сообщений: 18,825
09.07.2018, 22:14 4
Passerby, ну если у вас запросы производятся одновременно, то как иначе?
Один запрос отсылает Content-Type: application/json, другой - text/plain и оба пихают своё в общий клиент. В результате - конфликты, корявые запросы и веселуха с отладчиком.
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.07.2018, 22:14

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Как удалять и добавлять вертексы в шейдер?
Всё копаюсь с морфингом. Есть необходмость в определённые момент добавлять некоторые НОВЫЕ грани в...

Как в datagrid добавлять и удалять колонки
Как можно сделать динамическое добавление и удаление колонок в datagrid? В devexpress есть...

Как правильнее добавлять значения из Combobox в таблицу, если второе значение определяется из другой таблицы
У меня два рабочих варианта, буду признателен если ктони будь подскажет более правильный вариант. ...

Как динамически добавлять/удалять страницы ViewPager
Добрый день Всем! как можно добавлять и удалять страницы во ViewPager? пытаюсь делать так: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.