CanopyX.AspNetCore
0.4.5
dotnet add package CanopyX.AspNetCore --version 0.4.5
NuGet\Install-Package CanopyX.AspNetCore -Version 0.4.5
<PackageReference Include="CanopyX.AspNetCore" Version="0.4.5" />
<PackageVersion Include="CanopyX.AspNetCore" Version="0.4.5" />
<PackageReference Include="CanopyX.AspNetCore" />
paket add CanopyX.AspNetCore --version 0.4.5
#r "nuget: CanopyX.AspNetCore, 0.4.5"
#:package CanopyX.AspNetCore@0.4.5
#addin nuget:?package=CanopyX.AspNetCore&version=0.4.5
#tool nuget:?package=CanopyX.AspNetCore&version=0.4.5
CanopyX.AspNetCore
Minimal-API endpoints for the CanopyX remote grid protocol, built on CanopyX.Data: a data grid in the browser that pages, filters, totals, exports and saves edits against your database.

var map = new CanopyColumnMap<Host>(view)
.Key(x => x.Id)
.Column("name", x => x.Name)
.Column("owner", x => x.Owner.Name);
app.MapCanopyRemote("/api/hosts", http => http.RequestServices.GetRequiredService<FleetDb>().Hosts, map, options => {
options.AuthorizationPolicy = "Inventory.Read";
});
The group serves POST query, GET query, POST facet, POST summary, POST export/{format} and GET view. With
options.Writer it also serves POST commit, which requires options.WriteAuthorizationPolicy on top of the read policy.
With a CanopyRecordMap<T> (or options.Records) it serves POST record, the record panel's details on demand, looked up
through the same query callback.
CanopyRemoteScript.Element(map.Schema, "/api/hosts") writes the browser script that connects the grid to them.
Under a nonce-based Content Security Policy, use CanopyRemoteScript.ElementWithNonce(map.Schema, "/api/hosts", nonce)
with the same response nonce as the page.
The guide Server-side data for .NET walks through a complete setup, and the live demos show what readers get.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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
- CanopyX.Data (>= 0.4.5)
-
net8.0
- CanopyX.Data (>= 0.4.5)
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 |
|---|---|---|
| 0.4.5 | 76 | 11/11/2026 |
| 0.4.4 | 75 | 11/11/2026 |
| 0.4.3 | 81 | 11/10/2026 |
| 0.4.2 | 98 | 11/8/2026 |
| 0.4.1 | 83 | 11/8/2026 |
| 0.4.0 | 103 | 11/5/2026 |
| 0.3.6 | 101 | 11/4/2026 |
| 0.3.5 | 91 | 11/3/2026 |
| 0.3.4 | 109 | 10/31/2026 |
| 0.3.3 | 103 | 10/29/2026 |
| 0.3.2 | 105 | 10/26/2026 |
| 0.3.1 | 101 | 10/24/2026 |
| 0.3.0 | 103 | 10/23/2026 |
| 0.2.1 | 112 | 10/19/2026 |
Automatic columns remeasure after web fonts load. Binary versions follow the published package version automatically, and release archives include signed copied dependencies.