2016-10-13 2 views
12

Ich suchte nach PostAsJsonAsync Erweiterungsmethode in ASP.NET-Kern. Basierend auf Artikel here ist es erhältlich in Microsoft.AspNet.WebApi.Client Montage. Wie auch immer, ich habe zwar alle Assemblynamen von Microsoft.AspNet in Microsoft.AspNetCore geändert, um spezifischer mit .Net Core Framework zu sein. Aber ich konnte nicht finden Microsoft.AspNetCore.WebApi.ClientWo ist PostAsJsonAsync-Methode in ASP.NET Core?

Wo ist PostAsJsonAsync Erweiterungsmethode in ASP.NET-Kern?

+0

Es ist nicht Teil des ASP.NET Core-Projektes, also nicht nach dem 'Microsoft.AspNetCore. *' Namensschema. Es ist ursprünglich eine Erweiterung für Windows 8/81./10/UWP/WinRT-Anwendungen, die auf 'System.Runtime' basieren und .NET Core auch darauf basiert – Tseng

+0

, so dass Erweiterung ist nicht verfügbar in .Net Core aus der Box? – LP13

+4

Wenn Sie dieses Paket nicht zu Ihrem Projekt hinzufügen, ist es nicht verfügbar. Es ist 'HttpClient' Erweiterung. Ganz unabhängig von ASP.NET oder ASP.NET Core. Wie gesehen https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/ hier keine Abhängigkeiten weder zu ASP.NET MVC5 noch auf ASP.NET Core MVC. Es sollte jedoch mit .NET Core funktionieren, da es sich um einen PCL handelt, der auf NET 4.5 und Win8/8.1 abzielt. Sie brauchen nur den '" Import ": [" portable-net45 + win8 "] Anweisung in project.json – Tseng

Antwort

6

Das ist nicht Teil des ASP.NET Core-Projekts. Sie können jedoch fortfahren mit:

HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Post, "http://myurl/api"); 

string json = JsonConvert.SerializeObject(myObj); 

request.Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json"); 

HttpClient http = new HttpClient(); 
HttpResponseMessage response = await http.SendAsync(request); 

if (response.IsSuccessStatusCode) 
    {     
    } 
else 
    { 
    } 
+0

Denken Sie daran, die Anfrage und HTTP-Variablen zu entsorgen. – Rolf

1

das kommt zu spät, aber ich denke, es kann jemandem auf der ganzen Linie helfen. Daher sind die *AsJsonAsync()-Methoden nicht Teil des ASP.NET Core-Projekts. Ich habe ein Paket erstellt, das Ihnen die Funktionalität bietet. Sie können es auf Nuget bekommen.

https://www.nuget.org/packages/AspNetCore.Http.Extensions

using AspNetCore.Http.Extensions; 
... 
HttpClient client = new HttpClient(); 
client.PostAsJsonAsync('url', payload); 
Verwandte Themen