CanopyX.AspNetCore
0.3.4
dotnet add package CanopyX.AspNetCore --version 0.3.4
NuGet\Install-Package CanopyX.AspNetCore -Version 0.3.4
<PackageReference Include="CanopyX.AspNetCore" Version="0.3.4" />
<PackageVersion Include="CanopyX.AspNetCore" Version="0.3.4" />
<PackageReference Include="CanopyX.AspNetCore" />
paket add CanopyX.AspNetCore --version 0.3.4
#r "nuget: CanopyX.AspNetCore, 0.3.4"
#:package CanopyX.AspNetCore@0.3.4
#addin nuget:?package=CanopyX.AspNetCore&version=0.3.4
#tool nuget:?package=CanopyX.AspNetCore&version=0.3.4
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.3.4)
-
net8.0
- CanopyX.Data (>= 0.3.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
First release: MapCanopyRemote endpoint mapping with cancellation, typed client errors and the browser remote source script.