Jak mogę utworzyć przy użyciu C # i HttpClient następujące żądanie POST:
Potrzebuję takiego żądania dla mojej usługi WEB API:
[ActionName("exist")]
[HttpPost]
public bool CheckIfUserExist([FromBody] string login)
{
return _membershipProvider.CheckIfExist(login);
}
c#
asp.net-web-api
dotnet-httpclient
Ievgen Martynov
źródło
źródło
Odpowiedzi:
źródło
Microsoft.AspNet.WebApi.Client
pakiet NuGet w projekcie.HttpClient
Klasa jest zbudowany w .NET 4.5, nie w .NET 4.0. Jeśli chcesz używać go w .NET 4.0, potrzebujesz pakietu NuGet!Poniżej znajduje się przykład połączenia synchronicznego, ale możesz łatwo zmienić na asynchroniczny, używając await-sync:
źródło
W witrynie asp.net znajduje się artykuł dotyczący Twojego pytania. Mam nadzieję, że może ci pomóc.
Jak wywołać interfejs API za pomocą asp net
http://www.asp.net/web-api/overview/advanced/calling-a-web-api-from-a-net-client
Oto mała część z sekcji POST tego artykułu
Poniższy kod wysyła żądanie POST zawierające wystąpienie produktu w formacie JSON:
źródło
DateTime
właściwości? problemy z serializacją?Tutaj znalazłem ten artykuł, który wysyła prośbę o wpis za pomocą
JsonConvert.SerializeObject()
&StringContent()
doHttpClient.PostAsync
danychźródło
Mógłbyś zrobić coś takiego
Następnie strReponse powinno zawierać wartości zwrócone przez Twoją usługę sieciową
źródło
HttpClient
a nie staregoWebRequest
.