Orleans.Lattice.Api.Data
10.0.0
dotnet add package Orleans.Lattice.Api.Data --version 10.0.0
NuGet\Install-Package Orleans.Lattice.Api.Data -Version 10.0.0
<PackageReference Include="Orleans.Lattice.Api.Data" Version="10.0.0" />
<PackageVersion Include="Orleans.Lattice.Api.Data" Version="10.0.0" />
<PackageReference Include="Orleans.Lattice.Api.Data" />
paket add Orleans.Lattice.Api.Data --version 10.0.0
#r "nuget: Orleans.Lattice.Api.Data, 10.0.0"
#:package Orleans.Lattice.Api.Data@10.0.0
#addin nuget:?package=Orleans.Lattice.Api.Data&version=10.0.0
#tool nuget:?package=Orleans.Lattice.Api.Data&version=10.0.0
Orleans.Lattice.Api.Data
Optional, opt-in read-write external data-plane API add-on for
Orleans.Lattice. Exposes a
transport-agnostic facade that lets non-.NET clients set, delete, range-delete,
bulk-upsert, atomically batch, point-read, and bounded-range-read tree entries,
and write or read typed CRDTs. A sibling package,
Orleans.Lattice.Api.Data.Grpc, projects this facade onto a code-first gRPC
surface.
Design
Every single-tree operation resolves the caller-supplied tree name to its
effective, tenant-scoped id, obtains that cluster grain via
GetGrain<ILattice>(...), and calls the same public ILattice method the
in-cluster client uses; a cross-tree atomic batch goes through the grain-factory
cross-tree coordinator surface instead. Either way the authorization
enforcement wired into the cluster fires automatically once the caller identity
flows on the ambient credential context. The facade adds no authorization path
of its own.
- Opt-in and absent by default. Nothing is registered unless the host calls
AddLatticeDataApi(). - Fail-closed. With the
Orleans.Lattice.Authadd-on registered, an unresolved / anonymous caller is default-denied by the access gate: mutations throwLatticeAuthorizationDeniedException, a point read of a hidden key reports absent, and a range read prunes to the authorized subset. Without that add-on the core no-op gate admits every call.
Registration
siloBuilder
.AddLattice((silo, name) => silo.AddMemoryGrainStorage(name))
.AddLatticeDataApi();
Must be called after AddLattice(...).
Scope (v1)
Point SetAsync / DeleteAsync, bounded range DeleteRangeAsync, non-atomic
bulk SetManyAsync, single-tree atomic SetManyAtomicAsync (upserts +
deletes), cross-tree atomic SetManyAtomicCrossTreeAsync, point GetAsync, a
single-page bounded ReadRangeAsync, and the typed CRDT write and read verbs
(PN-counter, OR-Set, OR-Flag, RW-Flag, G-counter, G-Set, RW-Set, version vector,
MV / max / min registers, sequence, and OR-Map). A live streaming scan / change
feed is intentionally out of scope.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Orleans.Sdk (>= 10.2.2)
- Orleans.Lattice (>= 10.0.0)
- Orleans.Lattice.Api.Abstractions (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0 | 27 | 10/8/2026 |
| 9.9.0 | 90 | 10/2/2026 |
| 9.8.1 | 96 | 9/29/2026 |
| 9.8.0 | 97 | 9/26/2026 |
| 9.7.0 | 90 | 9/21/2026 |
| 9.6.0 | 339 | 9/5/2026 |
| 9.5.0 | 110 | 9/2/2026 |
| 9.4.0 | 116 | 8/29/2026 |
| 9.3.0 | 104 | 8/25/2026 |
| 9.2.0 | 110 | 8/23/2026 |
| 9.1.0 | 114 | 8/20/2026 |
| 9.0.0 | 123 | 8/14/2026 |
| 8.0.2 | 126 | 7/27/2026 |
| 8.0.1 | 118 | 7/27/2026 |
| 8.0.0 | 161 | 7/20/2026 |
| 7.9.0 | 119 | 7/9/2026 |
| 7.8.0 | 127 | 7/4/2026 |