Rask.Wire
0.23.0
See the version list below for details.
dotnet add package Rask.Wire --version 0.23.0
NuGet\Install-Package Rask.Wire -Version 0.23.0
<PackageReference Include="Rask.Wire" Version="0.23.0" />
<PackageVersion Include="Rask.Wire" Version="0.23.0" />
<PackageReference Include="Rask.Wire" />
paket add Rask.Wire --version 0.23.0
#r "nuget: Rask.Wire, 0.23.0"
#:package Rask.Wire@0.23.0
#addin nuget:?package=Rask.Wire&version=0.23.0
#tool nuget:?package=Rask.Wire&version=0.23.0
Rask.Wire
The primitives Rask's generated wire codecs are written against. You do not normally call these yourself — a source generator emits the code that does — but the package is public because that generated code lands in your compilation and has to have something to call.
Three things live here:
WireJson— reflection-free readers and writers overUtf8JsonReader/Utf8JsonWriter, one per primitive shape. Each reader takes the property name it is reading so a mismatch reports "wire said X, expected Y" naming the property, rather than a stack trace from inside the serializer. They live in a package instead of being emitted so the message is written once and the generated file stays readable.RemoteFile— a file travelling to a server. The carrier only: a message declares the app-level file type, and the generated codec adapts it.FileDownload— a file travelling back. Named this rather thanFileResultso it does not collide withMicrosoft.AspNetCore.Mvcin an app that has both.
Why it is its own package
Rask.Cqrs and Rask.Api both generate codecs, and a codec should read the same on either wire. The
alternatives were both worse: duplicating these types puts two of each on the path of any app using
both packages, and making one depend on the other drags a mediator into an app that only wanted REST.
No reflection and no assembly scanning, so it publishes clean under the WASM/AOT trimmer.
Documentation: https://rask.sh
| 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. net11.0 is compatible. |
-
net10.0
- No dependencies.
-
net11.0
- No dependencies.
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Rask.Wire:
| Package | Downloads |
|---|---|
|
Rask.Cqrs
Source-generated, reflection-free CQRS/mediator for .NET. Define `IQuery<T>`, `ICommand`, `ICommand<T>` and `INotification` messages with their handlers, then dispatch through `IDispatcher` with the response type inferred — no runtime reflection and no assembly scanning, so it publishes clean under the WASM/AOT trimmer. Pipeline behaviors provide the decorator hook for cross-cutting logging/validation/transactions. Standalone: depends only on Microsoft.Extensions.DependencyInjection.Abstractions. |
|
|
Rask.Logging
A durable, queryable log store for ASP.NET Core apps built with Rask — kept in a SQLite file of its own, or in the application's PostgreSQL or SQL Server database through EF Core, with no agent and no hosted log service. Registers a standard `ILoggerProvider`, so it captures exactly what every other sink sees, buffers entries through a bounded channel that never blocks the caller, and writes them in batches on a background service. Retention is enforced by age and by row count, swept in short pages so locks are never held for long. Pairs with Rask.Dashboard, whose Logs page reads the store. Server-side. |
|
|
Rask
The core of Rask, a full-stack .NET web framework: C# components and the element chain, routing, forms, the typed browser APIs and scoped CSS/TypeScript, with the source generators and build integration that make them work. Shared by the server host (Rask.Server) and the browser host (Rask.Wasm); reference it on its own from a library of components. |
|
|
Rask.Api.Client
Call your own API controllers and minimal API endpoints from C# with no URL string at the call site. A source generator reads the endpoint declarations and emits one typed client per controller, with reflection-free JSON codecs, so the route, the verb, the request shape and the response shape cannot drift from the server. Publishes clean under the WASM/AOT trimmer. |
|
|
Rask.Auth
Register, sign in and sign out for a Rask app, on by default. Accounts are the app's own User aggregate (PBKDF2 or bcrypt password hashing, passkeys beside the password, one revocable session row per signed-in device, sign-in throttling) and are exposed through Rask's own host-neutral surface — the same IUserProvider, Authorize component and [Authorize] routes work unchanged on the Server, WebAssembly, island, SPA and meta-framework hosts. rask new writes the /login, /register, /logout and /devices pages into the app, and the matching /api/auth endpoints give a TypeScript front end the same flows. Email confirmation and password reset go out through the app's own mail queue, with /confirm-email, /forgot-password and /reset-password pages scaffolded to match. The first account to register becomes the admin. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.23.1-alpha.0.84 | 128 | 9/25/2026 |
| 0.23.1-alpha.0.82 | 47 | 9/25/2026 |
| 0.23.1-alpha.0.81 | 51 | 9/25/2026 |
| 0.23.1-alpha.0.80 | 36 | 9/25/2026 |
| 0.23.1-alpha.0.79 | 79 | 9/25/2026 |
| 0.23.1-alpha.0.78 | 39 | 9/25/2026 |
| 0.23.1-alpha.0.76 | 77 | 9/25/2026 |
| 0.23.1-alpha.0.74 | 39 | 9/25/2026 |
| 0.23.1-alpha.0.72 | 49 | 9/25/2026 |
| 0.23.1-alpha.0.70 | 59 | 9/25/2026 |
| 0.23.1-alpha.0.69 | 63 | 9/25/2026 |
| 0.23.1-alpha.0.68 | 72 | 9/25/2026 |
| 0.23.1-alpha.0.67 | 62 | 9/25/2026 |
| 0.23.1-alpha.0.66 | 56 | 9/24/2026 |
| 0.23.1-alpha.0.65 | 65 | 9/24/2026 |
| 0.23.1-alpha.0.64 | 61 | 9/24/2026 |
| 0.23.1-alpha.0.62 | 67 | 9/24/2026 |
| 0.23.1-alpha.0.61 | 71 | 9/24/2026 |
| 0.23.1-alpha.0.50 | 65 | 9/24/2026 |
| 0.23.0 | 260 | 9/18/2026 |