HttpClient не поддерживает метод PostAsJsonAsyn c и dll в C# - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь вызвать API в своем приложении Windows. Net 4.6.1

HttpClient client = new HttpClient();
            Uri baseAddress = new Uri("https://smsmisr.com/");
            client.BaseAddress = baseAddress;
            var sendtime = DateTime.Now.ToString("yyyy-MM-dd-HH-mm");

            HttpResponseMessage response = client.PostAsJsonAsync(
            "api/webapi/?" +
            "username=XXXxx" +
            "&password=XXXXXX" +
            "&language= 3 Or 2 Or 1" +
            "&sender=Your Sender " +
            "&mobile=2012XXXXXX, 2011XXXX" +
            "&message=Encoded Message" +
            "&DelayUntil=" + sendtime
            ).Result;

и при написании кода я получаю сообщение об ошибке

Ошибка CS1501 Нет перегрузки для метода PostAsJsonAsyn c, принимает 1 аргумент

после поиска я добавил эти ссылки:

using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Formatting.dll;

, но появляется эта ошибка: Ошибка CS0234 Тип или имя пространства имен 'dll' не существует в пространстве имен 'System. Net .Http.Formatting' (вам не хватает ссылки на сборку?)

Ответы [ 2 ]

1 голос
/ 03 августа 2020

Ошибка довольно очевидна. Здесь вы можете увидеть все перегрузки этого метода. Вероятно, вы захотите передать uri и объект полезной нагрузки, например:

HttpResponseMessage response = client.PostAsJsonAsync("/api/webapi", [your object instance here]);

В настоящее время вы передаете одну строку, следовательно, возникает ошибка.

Кроме того, оператор using, который требует исправление:

using System.Net.Http.Formatting;
0 голосов
/ 03 августа 2020

Реализовали ли вы метод PostAsJsonAsyn c, который принимает один аргумент?

Эта ошибка возникает, когда пользователь не реализовал метод, требуемый унаследованным классом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...