마이크로소프트(MS.Net.Http 와 Microsoft 의 비교.AspNet.WebApi.고객
에서 REST 서비스에 접속해야 합니다.NET 어플리케이션으로, 이 2개의 패키지로도 할 수 있을 것 같습니다.어떤 패키지가 어떤 시나리오에서 사용되어야 하는지 명확하지 않습니다.누가 더 많은 빛을 가져다 줄 수 있나요?
간단한 대답은 "예, 사용"입니다.Microsoft.AspNet.WebApi.Client
.
https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/
이 패키지는 포맷 및 콘텐츠 네고시에이션에 대한 지원을 시스템에 추가합니다.Net.Http.JSON, XML 및 폼 URL 인코딩 데이터 지원이 포함됩니다.
Microsoft.AspNet.WebApi.Client
실제로 의존하다Microsoft.Net.Http
를 확장합니다.HttpClient
ASP 등의 RESTful 서비스와 대화해야 할 기능이 몇 가지 더 있습니다.NET Web API(JSON 및 XML 지원 등)
두 패키지는 모두System.Net.Http
네임스페이스와 키를 중심으로 회전합니다.HttpClient
학급.
그Microsoft.AspNet.WebApi.Client
패키지에 시스템이 포함되어 있습니다.Net.Http.Formating.dll 어셈블리:HttpClient 및 HttpContent(및 기타)에 편리한 확장 메서드를 추가합니다.
예를 들어 다음과 같습니다.
using (var client = new HttpClient())
{
var response = await client.GetAsync("http://localhost/foo/api/products/1");
response.EnsureSuccessStatusCode();
var product = await response.Content.ReadAsAsync<ProductInfo>();
}
그ReadAsAsync
method는 확장 메서드로,Microsoft.AspNet.WebApi.Client
에 추가하다HttpContent
물건.이것에 의해, 응답이 JSON, XML, 또는 폼 URL 부호화(상기 컨텐츠의 네고시에이션) 중 어느 쪽인지 자동적으로 판별해, 대응하는 포맷터를 사용해 강력한 타입의 모델(이 경우는,ProductInfo
).
만약 당신이 마이크로소프트를 사용하려 한다면.Net.Http, ReadAsync 메서드는 사용할 수 없으며 콘텐츠를 바이트나 문자열 등의 원시 데이터로만 읽을 수 있으며 직접 직렬화/직렬화를 수행해야 합니다.
PUT/POST를 JSON 또는 XML로 서비스로 되돌리는 확장 메서드도 얻을 수 있습니다.
// Save the ProductInfo model back to the API service
await client.PutAsJsonAsync("http://localhost/foo/api/products/1", product);
주요 Microsoft.AspNet.WebApi.클라이언트 확장:
https://msdn.microsoft.com/en-US/library/system.net.http.httpclientextensions.aspx https://msdn.microsoft.com/en-US/library/system.net.http.httpcontentextensions.aspx
언급URL : https://stackoverflow.com/questions/31261849/microsoft-net-http-vs-microsoft-aspnet-webapi-client
'source' 카테고리의 다른 글
Woocommerce 체크아웃에 필요한 체크아웃 필드 만들기 (0) | 2023.02.28 |
---|---|
WordPress가 설치되어 있는 디렉토리의 폴더 이름을 변경합니다. (0) | 2023.02.28 |
양조하다서비스를 시작할 수 없습니다."Bootstrap failed: 5: Input/Output error"를 가져옵니다. (0) | 2023.02.28 |
MySql을 위한 샘플 MongoDB 데이터베이스가 있습니까? (0) | 2023.02.28 |
오류 가져오기 - 'angular' 이름을 찾을 수 없습니다. (0) | 2023.02.28 |