C#. WepApi для desktop программы (WPF или WinForms)

283
09 февраля 2018, 18:03

Здравствуйте хотел спросить как организовать HTTP WepApi доступ к приложению на WPF. Необходимо реализовать контроль состояния объекта (GET запросы от клиента) и команды от клиента (POST).

хотелось бы чтото типа REST доступа

GET - Получение состояния host/lists/ - все объекты host/lists/10 - объект с id 10

POST - изменение по id host/lists/10 - заменить объект с id 10 на объект дессериализованный из тела запроса.

DELETE - удаление по id host/lists/10 - удалить объект с id 10

Прошу поделиться best practices. Давно пробовал HttpListener, вышло ли что-то альтернативное и более удобное? Версия ПО (framework 4.5.2). Заранее всем спасибо.

Answer 1

Можно использовать HttpClient, отправлять POST и GET запросы (и не только) из приложения, и обрабатывать полученные данные. Так же можно добавлять заголовки к запросам.

Пример запроса:

using (var client = new HttpClient())
{
    var response = client.PostAsJsonAsync(APP_PATH + "/api/Account/Register", registerModel).Result;
    return response.StatusCode.ToString();
}

Ссылки по теме: Создание десктопного клиента на C# для Web API, Сonsole WebApiClient

READ ALSO
Счетчик с очередью

Счетчик с очередью

Реализовывал счетчик задач с очередью, но возникает timeout на последней пачке запросов, клиент ожидает и соединение разрываетсяСкорее всего...

290
Работа с gridView в asp.net

Работа с gridView в asp.net

ЗдравствуйтеЕсть на странице gridView

298
Когда и для каких целей может потребоваться использовать контекст потока?

Когда и для каких целей может потребоваться использовать контекст потока?

У потока может быть контекст(GUI приложение), а может и не быть(Консольное приложение)

266
Разница между Invoke и обычным вызовом делегата через ()

Разница между Invoke и обычным вызовом делегата через ()

В чём разница между Invoke и обычным вызовом делегата через () в C#?

287