HyperDev.Web.Remoting
1.2.4
dotnet add package HyperDev.Web.Remoting --version 1.2.4
NuGet\Install-Package HyperDev.Web.Remoting -Version 1.2.4
<PackageReference Include="HyperDev.Web.Remoting" Version="1.2.4" />
<PackageVersion Include="HyperDev.Web.Remoting" Version="1.2.4" />
<PackageReference Include="HyperDev.Web.Remoting" />
paket add HyperDev.Web.Remoting --version 1.2.4
#r "nuget: HyperDev.Web.Remoting, 1.2.4"
#:package HyperDev.Web.Remoting@1.2.4
#addin nuget:?package=HyperDev.Web.Remoting&version=1.2.4
#tool nuget:?package=HyperDev.Web.Remoting&version=1.2.4
HyperDev.Web.Remoting
ASP.NET Core remoting server: exposes a graph of remote objects to the browser through one MVC controller, part of the HyperDev Fatum framework. Remote objects are described with HyperDev.Remoting; the matching Angular client is generated by HyperDev.TypeScript.Remoting.
RemoteController<T>: invokes the remote methods ofT(POST form data, or GET for methods with[RemotePolicy(UseHttpGet = true)])- Activation of child objects from their URI (
[UriActivator]), with client state ($caller) applied according to the protection rules - OData query options (filter, order, paging, count) on
IQueryablemethods marked with[RemoteQueryable] Cache-Controlheaders from[RemoteCache]on GET requests- File parameters (
HyperDev.IO.IFile) from multipart uploads - Cross-site request check (
AddRemotingCsrf, modesOff,Audit,Enforce) - Errors as
ProblemDetails; overridable hooks (IsHandledException,OnBeforeInvoke,OnAfterInvoke,GetSerializerSettings)
Installation
dotnet add package HyperDev.Web.Remoting
Quick start
using HyperDev.Remoting;
using HyperDev.Web.Remoting;
using Microsoft.AspNetCore.Mvc;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.AddRemotingCsrf(); // "Remoting:Csrf" section: Mode = Off | Audit | Enforce
var app = builder.Build();
app.MapControllers();
app.Run();
[Route("api/shop")]
public class ShopController : RemoteController<Shop>
{
public ShopController(ILogger<ShopController> logger)
: base(logger)
{ }
protected override Shop CreateInstance() => new Shop();
// Returned to the client as 422 warnings instead of 500 errors
protected override bool IsHandledException(Exception ex) => ex is InvalidOperationException;
}
public class Shop
{
public string Hello(string name) => $"Hello {name}";
[RemoteQueryable(PageSize = 50)]
public IQueryable<Product> GetProducts() => new List<Product>().AsQueryable();
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
}
Target frameworks
.NET 8.0, .NET 10.0
License
MIT, © Ivan Senatore, Wemake Informatica srl. Third-party dependencies keep their own licenses (Microsoft.AspNetCore.OData: MIT, Newtonsoft.Json: MIT, Newtonsoft.Json.Schema: commercial or AGPL-3.0, Antlr4.Runtime: BSD-3-Clause).
| 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
- HyperDev.Core (>= 1.2.4)
- HyperDev.Data.OData (>= 1.2.1)
- HyperDev.Remoting (>= 1.2.0)
- HyperDev.Text.Json (>= 1.2.3)
-
net8.0
- HyperDev.Core (>= 1.2.4)
- HyperDev.Data.OData (>= 1.2.1)
- HyperDev.Remoting (>= 1.2.0)
- HyperDev.Text.Json (>= 1.2.3)
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 |
|---|---|---|
| 1.2.4 | 108 | 11/7/2026 |
| 1.2.3 | 116 | 11/2/2026 |
| 1.2.2 | 136 | 9/28/2026 |
| 1.2.1 | 138 | 9/9/2026 |
| 1.2.0 | 156 | 7/29/2026 |
| 1.0.17 | 145 | 7/15/2026 |
| 1.0.16 | 158 | 6/25/2026 |
| 1.0.15 | 145 | 6/24/2026 |
| 1.0.14 | 161 | 5/22/2026 |
| 1.0.13 | 130 | 5/20/2026 |
| 1.0.12 | 159 | 3/4/2026 |
| 1.0.11 | 154 | 2/26/2026 |
| 1.0.10 | 151 | 2/23/2026 |
| 1.0.9 | 150 | 2/20/2026 |
| 1.0.8 | 160 | 2/17/2026 |
| 1.0.7 | 165 | 2/10/2026 |
| 1.0.6 | 162 | 2/3/2026 |
| 1.0.5 | 498 | 11/19/2025 |
| 1.0.4 | 348 | 11/13/2025 |
| 1.0.3 | 248 | 9/5/2025 |