source

마이크로소프트(MS.Net.Http 와 Microsoft 의 비교.AspNet.WebApi.고객

gigabyte 2023. 2. 28. 23:34
반응형

마이크로소프트(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를 확장합니다.HttpClientASP 등의 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>();
}

ReadAsAsyncmethod는 확장 메서드로,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

반응형