.NET

카우치베이스 .NET SDK 2.3.3이 출시되었습니다!

카우치베이스 .NET SDK 2.3.3이 출시되었습니다!

오늘 Couchbase .NET SDK의 유지 관리 및 버그 수정 릴리스를 출시합니다. 이 릴리스는 2.3.0 및 2.3.1의 후속 릴리스입니다(2.3.2 릴리스가 없습니다.)에서 확인하실 수 있으며, 이에 따라 업그레이드하시기 바랍니다. 주로 버그 수정 릴리스이지만, 몇 가지 사소한 새 기능과 이전 메서드를 더 이상 사용할 수 없게 만드는 API 이름 변경이 포함되어 있습니다.

새로운 기능 및 변경 사항

비동기 배치 방법

JSON 문서에서 여러 작업을 일괄 처리할 수 있는 비동기 메서드의 새로운 API가 추가되었습니다. 이를 통해 익숙한 비동기/대기 패러다임을 사용해 비차단 방식으로 작업 목록을 실행할 수 있습니다:

이 예제에서 일반 유형 T가 객체임을 지정하고 있는 것을 보셨나요? 이렇게 하면 다양한 유형의 문서를 결합할 수 있습니다. T를 보다 특정한 유형으로 제한하려면 배치의 모든 문서가 동일한 유형이어야 합니다.

다음 작업에 대해 이러한 메서드가 추가되었습니다:

  • GetDocumentsAsync: 일련의 키가 주어진 문서 집합을 가져옵니다.
  • UpsertAsync: 기존 문서 집합을 업데이트하거나 존재하지 않는 경우 삽입합니다.
  • InsertAsync: 문서가 존재할 경우 실패하는 문서 집합을 삽입합니다.
  • RemoveASync: 문서 집합을 제거합니다.
  • ReplaceAsync: 문서 집합을 대체하고, 문서가 존재하지 않으면 실패합니다.

IO 서비스에 대한 프로그래밍 방식 구성 허용

얼마 전 새로운 IO 공급자를 출시했습니다. MUX IO를 지원했지만, App.config 또는 Web.config 파일을 통한 구성만 지원했습니다. 이제 프로그래밍 방식으로 IO 서비스를 구성할 수 있습니다:

커뮤니티 회원에게 큰 감사를 드립니다. 페트르 드라스틸 이 기능에 대한 PR을 제출해 주셔서 감사합니다!

뉴턴소프트 패키지를 8.0.3으로 업그레이드하기

마침내 버전 6.0.8에서 8.0.3으로 업그레이드하면서 .NET Core 호환 JSON 직렬화기를 대폭 지원하게 되었습니다.

GetWithLock의 이름을 GetAndLock으로 변경합니다.

이는 다양한 카우치베이스 SDK(Java, PHP 등)에서 어느 정도 일관성을 유지하기 위한 것입니다. 모든 GetWithLock 메서드는 ObsoleteAttribute .aspx를 사용하여 "사용되지 않음"으로 플래그가 지정되었습니다.) 이러한 메서드를 사용하는 경우 컴파일러 경고가 표시됩니다. 이러한 메서드는 SDK의 주요 버전(예: 3.x)이 릴리스될 때까지 제거되지 않습니다.

IPv6 지원

이제 클라이언트가 FQDN(정규화된 도메인 이름)을 확인할 때 IPv6 항목만 사용하도록 전역 구성을 설정할 수 있습니다. 아직 완전히 테스트되지 않았다는 점에서 '실험적' 기능으로 분류하고 싶으니 주의하세요! 순수한 IPv6 네트워크를 사용하는 경우가 아니라면 이 기능을 사용하지 않는 것이 좋습니다!

알려진 문제

테스트 후반에 발견된 알려진 문제가 하나 있는데, 장애 조치/스왑/재조정 시나리오 중에 하위 문서 명령이 NotImplementedException으로 실패할 수 있습니다. 이 문제는 이후 릴리스에서 수정될 예정입니다. Jira.

릴리스 정보 - Couchbase .NET 클라이언트 라이브러리 - 버전 2.3.3

  • [NCBC-1127] - 문서 조각에 CAS 노출
  • [NCBC-1143] - 하위 문서 존재는 항상 참을 반환합니다.
  • [NCBC-1146] - GetWithLock을 GetAndLock으로 바꾸기
  • [NCBC-1148] - MemcachedBucket.CreateManager가 NotSupportedException을 던집니다.
  • [NCBC-1149] - 버킷 참조 카운팅 문제 수정
  • [NCBC-1151] - 하위 문서 - 단수 바꾸기가 항상 실패합니다.
  • [NCBC-1154] - QueryResult에서 ToString을 호출하면 NRE가 발생할 수 있습니다.
  • [NCBC-1092] - 뉴턴소프트 종속성을 8.x로 업그레이드하기
  • [NCBC-1116] - 대량 작업을 위한 비동기/대기 메서드 추가
  • [NCBC-1118] - IO 서비스에 대한 프로그래밍 방식 구성 허용
  • [NCBC-1087] - 클라이언트 구성에서 IPv6 지원
  • [NCBC-1150] - 하위 문서 - 계층적 하위 문서를 가져올 때 조회가 실패합니다.

특별 감사

풀 리퀘스트를 제공하거나, 포럼에서 답변 또는 질문을 하거나, jira에서 버그 보고서 또는 기능 요청을 작성하여 이번 릴리스에 기여한 모든 커뮤니티 구성원에게 특별히 감사의 말씀을 전하며, 특히 다음과 같은 분들께 감사드립니다. 브랜트 버넷 의 센터엣지 소프트웨어.

받는 방법

SDK는 NuGet을 통해 직접 다운로드하거나 Github 리포지토리를 복제하여 가져와서 사용할 수 있습니다:

  • 다음에서 바이너리를 다운로드하세요. 카우치베이스.
  • 패키지는 다음에서 찾을 수 있습니다. Nuget.org.
  • 리포지토리가 켜져 있습니다. Github.
이 문서 공유하기
받은 편지함에서 카우치베이스 블로그 업데이트 받기
이 필드는 필수 입력 사항입니다.

작성자

게시자 Jeff Morris, 수석 소프트웨어 엔지니어, Couchbase

Jeff Morris는 Couchbase의 수석 소프트웨어 엔지니어입니다. Couchbase에 입사하기 전에는 6년 동안 Source Interlink에서 엔터프라이즈 웹 아키텍트로 근무했습니다. Jeff는 Couchbase SDK 개발과 N1QL(쿼리 언어)과 통합하는 방법을 담당하고 있습니다.

댓글 남기기

카우치베이스 카펠라를 시작할 준비가 되셨나요?

구축 시작

개발자 포털에서 NoSQL을 살펴보고, 리소스를 찾아보고, 튜토리얼을 시작하세요.

카펠라 무료 사용

클릭 몇 번으로 Couchbase를 직접 체험해 보세요. Capella DBaaS는 가장 쉽고 빠르게 시작할 수 있는 방법입니다.

연락하기

카우치베이스 제품에 대해 자세히 알고 싶으신가요? 저희가 도와드리겠습니다.