Soenneker.Cosmos.Serializer
11.0.2785
Prefix Reserved
dotnet add package Soenneker.Cosmos.Serializer --version 11.0.2785
NuGet\Install-Package Soenneker.Cosmos.Serializer -Version 11.0.2785
<PackageReference Include="Soenneker.Cosmos.Serializer" Version="11.0.2785" />
<PackageVersion Include="Soenneker.Cosmos.Serializer" Version="11.0.2785" />
<PackageReference Include="Soenneker.Cosmos.Serializer" />
paket add Soenneker.Cosmos.Serializer --version 11.0.2785
#r "nuget: Soenneker.Cosmos.Serializer, 11.0.2785"
#:package Soenneker.Cosmos.Serializer@11.0.2785
#addin nuget:?package=Soenneker.Cosmos.Serializer&version=11.0.2785
#tool nuget:?package=Soenneker.Cosmos.Serializer&version=11.0.2785
Soenneker.Cosmos.Serializer
An Azure Cosmos DB CosmosSerializer backed by System.Text.Json and pooled memory streams.
Installation
dotnet add package Soenneker.Cosmos.Serializer
Use with CosmosClient
using Soenneker.Cosmos.Serializer;
using Soenneker.Utils.MemoryStream.Abstract;
using Soenneker.Utils.MemoryStream.Registrars;
services.AddMemoryStreamUtilAsSingleton();
IMemoryStreamUtil memoryStreams =
serviceProvider.GetRequiredService<IMemoryStreamUtil>();
var serializer = new CosmosSystemTextJsonSerializer(memoryStreams);
var client = new CosmosClient(
endpoint,
accountKey,
new CosmosClientOptions
{
Serializer = serializer
});
Soenneker.Cosmos.Client already constructs and installs this serializer, so applications using that client utility do not need to configure it again.
JSON behavior
Serialization uses Soenneker.Json.OptionsCollection.JsonOptionsCollection.WebOptions. The same options are used for reads and writes, keeping property naming and configured converters consistent. This replaces the Cosmos SDK's default serializer, so verify stored JSON compatibility before switching an existing container.
Stream ownership
ToStream returns a positioned stream owned by the Cosmos SDK or direct caller. The recipient must dispose it. If serialization fails before the stream is returned, the serializer disposes the pooled stream itself.
FromStream<T> consumes and disposes the supplied stream after deserialization. The exception is FromStream<Stream>, which returns the original stream without disposing it and transfers ownership to the caller. An empty MemoryStream deserializes to default(T).
Serialization and deserialization failures propagate to the caller. The adapter uses the synchronous CosmosSerializer contract, so it does not accept a cancellation token.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net11.0 is compatible. |
-
net11.0
- Microsoft.Azure.Cosmos (>= 3.63.3)
- Newtonsoft.Json (>= 13.0.4)
- Soenneker.Json.OptionsCollection (>= 11.0.1316)
- Soenneker.Utils.MemoryStream (>= 11.0.1607)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Soenneker.Cosmos.Serializer:
| Package | Downloads |
|---|---|
|
Soenneker.Cosmos.Client
A utility library for Azure Cosmos client accessibility |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 11.0.2785 | 117 | 10/28/2026 |
| 11.0.2784 | 262 | 10/27/2026 |
| 11.0.2783 | 468 | 10/27/2026 |
| 11.0.2782 | 194 | 10/26/2026 |
| 11.0.2780 | 102 | 10/26/2026 |
| 11.0.2779 | 205 | 10/26/2026 |
| 11.0.2778 | 201 | 10/26/2026 |
| 11.0.2777 | 136 | 10/26/2026 |
| 11.0.2776 | 87 | 10/26/2026 |
| 11.0.2775 | 593 | 10/26/2026 |
| 4.0.2774 | 139 | 10/25/2026 |
| 4.0.2773 | 1,378 | 10/15/2026 |
| 4.0.2772 | 165 | 10/14/2026 |
| 4.0.2771 | 112 | 10/14/2026 |
| 4.0.2770 | 336 | 10/14/2026 |
| 4.0.2769 | 145 | 10/14/2026 |
| 4.0.2768 | 243 | 10/14/2026 |
| 4.0.2767 | 95 | 10/14/2026 |
| 4.0.2761 | 171 | 10/12/2026 |
| 4.0.2759 | 128 | 10/12/2026 |
Update dependency Soenneker.Utils.MemoryStream to 11.0.1607 (#3621)