Arc4u
Arc4u is a framework that eases the development of .NET applications. It selects a number of technologies from the .NET ecosystem and packages them so that you can add common enterprise concerns, such as authentication, logging or caching, without reinventing them. The framework has been in use for many years and is open source.
This site documents Arc4u 9, the develop/9.0.0 line. It targets net10.0 and
net11.0 and ships as a set of NuGet packages named Arc4u.*, grouped by feature area.
Where to start
| Section | Read it to |
|---|---|
| Getting started | Install Arc4u and build a first application step by step. |
| Concepts | Understand the architecture and design principles behind Arc4u. |
| Guides | Set up and use one feature area: dependency injection, configuration, logging, authentication, caching, results, gRPC, data access. |
| API reference | Look up a type or member, generated from the source code. |
| Migration | Upgrade an application from Arc4u 8.x to 9. |
| Releases | See what changed in each release. |
Feature areas
- Dependency injection: attribute-based registration and source generators.
- Configuration: options, encrypted settings and configuration stores.
- Diagnostics and logging: structured logging with Serilog.
- Server authentication: securing APIs and web apps with OAuth2 and OpenID Connect.
- Client authentication and Blazor: calling protected APIs, including from Blazor.
- Caching: memory, Redis, SQL Server and Dapr caches.
- Results and errors: the result pattern and ProblemDetails.
- gRPC and API versioning: gRPC services and versioned REST APIs.
- Data access: Entity Framework Core, MongoDB and OData.
- Dispatcher: dispatching notifications to handlers.
The package support page lists every package and its status.
Get involved
Arc4u is developed on GitHub. To report a problem or contribute code or documentation, read CONTRIBUTING.md.