Vorn.Entities.Client
9.1.2
dotnet add package Vorn.Entities.Client --version 9.1.2
NuGet\Install-Package Vorn.Entities.Client -Version 9.1.2
<PackageReference Include="Vorn.Entities.Client" Version="9.1.2" />
<PackageVersion Include="Vorn.Entities.Client" Version="9.1.2" />
<PackageReference Include="Vorn.Entities.Client" />
paket add Vorn.Entities.Client --version 9.1.2
#r "nuget: Vorn.Entities.Client, 9.1.2"
#:package Vorn.Entities.Client@9.1.2
#addin nuget:?package=Vorn.Entities.Client&version=9.1.2
#tool nuget:?package=Vorn.Entities.Client&version=9.1.2
Vorn.Entities.Client
The client package focuses on Blazor and typed SignalR consumption. It wraps an IEntityClient<TDto, TDescriptorDto> with a
component base that manages hub connections, busy state, notifications, and error handling so Razor components remain mostly
markup.
Install
dotnet add package Vorn.Entities.SignalR.Client
dotnet add package Vorn.Entities.Client
Bring in Vorn.Entities and Vorn.Entities.Server for the backing service/hub if they are not already referenced.
Configure SignalR access
- Connection factory – centralize HubConnection creation.
public sealed class DocumentConnectionFactory(Uri hubUri) : IEntityConnectionFactory { public Task<HubConnection> CreateConnection<TDto>() where TDto : EntityDto => Task.FromResult(new HubConnectionBuilder() .WithUrl(hubUri) .WithAutomaticReconnect() .Build()); } builder.Services.AddScoped<IEntityConnectionFactory, DocumentConnectionFactory>(); - Ambient interception – forward user/time context to the server.
builder.Services.AddScoped<IEntityInterceptionProvider, AmbientEntityInterceptionProvider>(); - Typed client – inherit from
EntityClient<TDto, TDescriptorDto>and register it with DI.public sealed class DocumentClient( IEntityConnectionFactory connections, IEntityInterceptionProvider interception) : EntityClient<DocumentDto, DocumentDescriptorDto>(connections, interception); builder.Services.AddScoped<DocumentClient>();
Build a component
EntityClientComponentBase<TClient, TDto, TDescriptorDto> supplies the CRUD helpers, busy flag, and notification pipeline. Derive
a component base class and render your UI around the exposed state.
public abstract class DocumentListBase
: EntityClientComponentBase<DocumentClient, DocumentDto, DocumentDescriptorDto>
{
protected List<DocumentDto> Items { get; } = new();
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
Items.AddRange(await Client.GetListAsync(Descriptor));
}
protected override async Task OnNotificationAsync(EntityNotification notification)
{
Items.Clear();
Items.AddRange(await Client.GetListAsync(Descriptor));
}
}
Razor usage:
@inherits DocumentListBase
@if (IsBusy)
{
<p>Loading documents...</p>
}
else if (!string.IsNullOrEmpty(ErrorMessage))
{
<p class="text-danger">@ErrorMessage</p>
}
else
{
<ul>
@foreach (var document in Items)
{
<li>@document.Title</li>
}
</ul>
}
Component options
AutoConnect(defaulttrue) controls whether the hub starts duringOnInitializedAsync.StopClientOnDisposedisposes the hub when the component leaves the render tree.EntityInterceptionConfigscopes user/time metadata across multiple calls.Errorcallback surfaces exceptions so pages can show toasts or log failures.
Tips
- Use
SafeRunAsyncfor read-only operations that should toggleIsBusyand capture errors without throwing. - Override
DisposeAsyncwhen you allocate additional resources—remember to callawait base.DisposeAsync(). - Pair with generator-produced DTOs/descriptors to keep client/server contracts in sync.
| 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 was computed. 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. |
-
net8.0
- Microsoft.AspNetCore.SignalR.Client.Core (>= 8.0.22)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Vorn.Entities.Client:
| Package | Downloads |
|---|---|
|
Vorn.Files.Client
This library is designed as part of web applications which are clients who get file hosting as a service from a Vorn.Files.Host. |
|
|
Vorn.Entities.Interface
This library is designed to provide some basic interface services and components plus enabling entity management usage. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 9.1.2 | 443 | 11/16/2025 |
| 9.1.1 | 226 | 11/15/2025 |
| 9.1.0 | 173 | 11/15/2025 |
| 9.0.2 | 490 | 11/10/2025 |
| 9.0.1 | 220 | 11/9/2025 |
| 9.0.0 | 208 | 11/5/2025 |
| 8.8.0 | 259 | 11/2/2025 |
| 8.7.1 | 228 | 10/29/2025 |
| 8.7.0 | 238 | 10/27/2025 |
| 8.6.2 | 225 | 10/27/2025 |
| 8.6.1 | 203 | 10/25/2025 |
| 8.6.0 | 190 | 10/25/2025 |
| 8.6.0-rc4 | 192 | 10/25/2025 |
| 8.6.0-rc3 | 207 | 10/24/2025 |
| 8.6.0-rc2 | 255 | 10/23/2025 |
| 8.6.0-rc1 | 256 | 10/20/2025 |
| 8.5.1 | 162 | 10/18/2025 |
| 8.5.0 | 181 | 10/18/2025 |
| 8.4.2 | 225 | 10/16/2025 |
| 8.4.1 | 223 | 10/16/2025 |
| 8.4.0 | 237 | 10/16/2025 |
| 8.3.5 | 235 | 10/15/2025 |
| 8.3.4 | 222 | 10/15/2025 |
| 8.3.3 | 253 | 10/15/2025 |
| 8.3.1 | 246 | 10/14/2025 |
| 8.3.0 | 254 | 10/14/2025 |
| 8.3.0-rc4 | 226 | 10/14/2025 |
| 8.3.0-rc3 | 232 | 10/13/2025 |
| 8.3.0-rc2 | 219 | 10/13/2025 |
| 8.3.0-rc1 | 241 | 10/13/2025 |
| 8.2.0-rc9 | 237 | 10/13/2025 |
| 8.2.0-rc8 | 217 | 10/13/2025 |
| 8.2.0-rc7 | 216 | 10/12/2025 |
| 8.2.0-rc6 | 184 | 10/12/2025 |
| 8.2.0-rc5 | 181 | 10/12/2025 |
| 8.2.0-rc4 | 184 | 10/12/2025 |
| 8.2.0-rc3 | 161 | 10/12/2025 |
| 8.2.0-rc10 | 226 | 10/13/2025 |
| 8.2.0-rc1 | 143 | 10/11/2025 |
| 8.0.10-rc1 | 144 | 10/11/2025 |
| 5.0.1-preview.0.1 | 144 | 10/8/2025 |