MessagePack은 효율적인 이진 직렬화 형식입니다. JSON과 같은 여러 언어로 데이터를 교환 할 수 있습니다. 그러나 더 빠르고 작습니다. 작은 정수는 단일 바이트로 인코딩되며 일반적인 짧은 줄은 문자열 자체 외에 하나의 여분의 바이트 만 필요합니다.
Messag
이 패키지는 실제로 Microsoft.Net.Http 에 따라 다르며 ASP.NET Web API와 같은 편안한 서비스와 대화해야 할 MessagePack 기능으로 HttpClient 확장합니다. 패키지는 System.Net.Http 네임 스페이스에서 작동하며 HttpClient 및 HttpContent 에 편리한 확장 방법을 추가합니다.
예를 들어 :
using ( var client = new HttpClient ( ) )
{
var product = await client . GetFromMessagePackAsync < Product > ( "http://localhost/api/products/1" ) ;
}또는
using ( var client = new HttpClient ( ) )
{
var response = await _client . GetAsync ( "http://localhost/api/products/1" ) ;
response . EnsureSuccessStatusCode ( ) ;
var product = await response . Content . ReadFromMessagePackAsync < Product > ( ) ;
}또는
using ( var client = new HttpClient ( ) )
{
var request = new HttpRequestMessage ( HttpMethod . Post , "http://localhost/api/products/1" ) ;
request . Content = MessagePackContent . Create ( new Product ( ) ) ;
var response = await _client . SendAsync ( request ) ;
response . EnsureSuccessStatusCode ( ) ;
} Microsoft.Net.Http 만 사용하려고하면 GetFromMessagePackAsync 메소드를 사용할 수 없으며 바이트 나 문자열과 같은 원시 데이터로만 컨텐츠를 읽을 수 있으며 직접화 / 디바일 화를 수행해야합니다.
또한 스스로 할 필요없이 MessagePack
await client . PutAsMessagePackAsync ( "http://localhost/api/products/1" , product ) ;
await client . PostAsMessagePackAsync ( "http://localhost/api/products/1" , product ) ; 이 패키지는 또한 HttpClient 요청 및 응답을 형식화하기 위해 MessagePackMediaTypeFormatter 클래스를 추가합니다.
using ( var client = new HttpClient ( ) )
{
var formatter = new MessagePackMediaTypeFormatter ( ) ;
var request = new SearchProductRequest { Name = 'iphone' , OrderBy = 'id' } ;
var content = new ObjectContent < SearchProductRequest > ( request , formatter ) ;
var response = await client . PostAsync ( "http://localhost/api/products:search" , content ) ;
var products = await response . Content . ReadAsAsync < Product [ ] > ( new [ ] { formatter } ) ;
}dotnet add package Byndyusoft.Net.Http.MessagePack기여하려면 지역 환경을 설정해야합니다. 전제 조건을 참조하십시오. 기여 및 워크 플로 가이드는 패키지 개발 수명주기를 참조하십시오.
기여 방법에 대한 자세한 개요는 기고 가이드에서 찾을 수 있습니다.
개발 기계에 다음과 같은 전제 조건을 모두 설치했는지 확인하십시오.
src 에서 패키지 로직을 구현하십시오tests 에서 단위 테스트 (이전 및 동시에 코딩과 동시에 선호) 추가 또는 AddAptmaster 브랜치를 타겟팅하십시오