Rwx.Application
0.3.1
dotnet add package Rwx.Application --version 0.3.1
NuGet\Install-Package Rwx.Application -Version 0.3.1
<PackageReference Include="Rwx.Application" Version="0.3.1" />
<PackageVersion Include="Rwx.Application" Version="0.3.1" />
<PackageReference Include="Rwx.Application" />
paket add Rwx.Application --version 0.3.1
#r "nuget: Rwx.Application, 0.3.1"
#:package Rwx.Application@0.3.1
#addin nuget:?package=Rwx.Application&version=0.3.1
#tool nuget:?package=Rwx.Application&version=0.3.1
Rwx.Application
Application-layer contracts and registrations for CQRS handlers, FluentValidation, domain-event handlers, and specifications.
Install
dotnet add package Rwx.Application --version 0.1.0
Quick start
Derive your application module from RwxApplicationModule. It scans its assembly and registers command/query handlers, domain-event handlers, validators, and conventional services.
using Rwx.Application.Cqrs;
using Rwx.Application.Modularity;
public sealed class SalesApplicationModule : RwxApplicationModule
{
}
public sealed record CreateOrder(string Number) : ICommand<Guid>;
internal sealed class CreateOrderHandler : ICommandHandler<CreateOrder, Guid>
{
public Task<Guid> Handle(CreateOrder command, CancellationToken cancellationToken) =>
Task.FromResult(Guid.NewGuid());
}
The package decorates command and query handlers with FluentValidation when matching validators are registered. It has no cache, messaging, job, or saga dependency.
Add an optional abstraction only where a use case needs it: Rwx.Caching.Abstractions, Rwx.EventBus.Abstractions, Rwx.Jobs.Abstractions, or Rwx.Sagas.Abstractions. Pair each with a suitable adapter in the host.
Boundaries
Handlers orchestrate one use case and depend only on contracts. Keep EF Core, RabbitMQ, Redis, HTTP, and host configuration in adapter/host packages. When a handler publishes a cross-service fact, depend on Rwx.EventBus.Events.IIntegrationEventPublisher, never a transport client.
| 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. |
-
net10.0
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.0)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection (>= 10.0.9)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Logging (>= 10.0.9)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.9)
- Rwx.Authorization (>= 0.3.1)
- Rwx.Core (>= 0.3.1)
- Rwx.Domain (>= 0.3.1)
- Rwx.UnitOfWork (>= 0.3.1)
- Scrutor (>= 7.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Rwx.Application:
| Package | Downloads |
|---|---|
|
Rwx.Persistence.EfCore
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.