Koto.Application
0.1.0-preview.3
See the version list below for details.
dotnet add package Koto.Application --version 0.1.0-preview.3
NuGet\Install-Package Koto.Application -Version 0.1.0-preview.3
<PackageReference Include="Koto.Application" Version="0.1.0-preview.3" />
<PackageVersion Include="Koto.Application" Version="0.1.0-preview.3" />
<PackageReference Include="Koto.Application" />
paket add Koto.Application --version 0.1.0-preview.3
#r "nuget: Koto.Application, 0.1.0-preview.3"
#:package Koto.Application@0.1.0-preview.3
#addin nuget:?package=Koto.Application&version=0.1.0-preview.3&prerelease
#tool nuget:?package=Koto.Application&version=0.1.0-preview.3&prerelease
Koto.Application
CQRS dispatcher, pipeline behaviors, and cross-service integration abstractions for .NET microservices. Part of the Koto suite.
Install
dotnet add package Koto.Application
What's included
| Type | Purpose |
|---|---|
ICommand / ICommand<TResult> |
Marker interfaces for write operations |
IQuery<TResult> |
Marker interface for read operations |
ICommandHandler<T> / ICommandHandler<T, TResult> |
Command handler contracts |
IQueryHandler<TQuery, TResult> |
Query handler contract |
ICqrsDispatcher |
Dispatches commands and queries to registered handlers |
IPipelineBehavior<TRequest, TResponse> |
Middleware for the CQRS pipeline |
LoggingBehavior<,> |
Logs every command/query with timing |
TransactionBehavior<,> |
Wraps each command in a IUnitOfWork transaction |
IUnitOfWork |
Abstraction for committing a database transaction |
IIntegrationEvent / IntegrationEvent |
External event contract |
IIntegrationCommand / IIntegrationCommand<TResult> |
Cross-service command contract |
IIntegrationEventPublisher |
Publishes integration events (implemented in infra) |
IIntegrationCommandDispatcher |
Dispatches integration commands (implemented in infra) |
Usage
Register
builder.Services.AddKotoApplication(typeof(Program).Assembly);
Implement a command
public sealed record PlaceOrderCommand(Guid CustomerId, List<OrderItem> Items)
: ICommand<Result<OrderId>>;
public sealed class PlaceOrderHandler : ICommandHandler<PlaceOrderCommand, Result<OrderId>>
{
public async Task<Result<OrderId>> Handle(PlaceOrderCommand cmd, CancellationToken ct)
{
// business logic
}
}
Dispatch
var result = await _dispatcher.SendAsync(new PlaceOrderCommand(customerId, items), ct);
Pipeline behaviors
// Register in DI — executed in registration order
services.AddScoped(typeof(IPipelineBehavior<,>), typeof(LoggingBehavior<,>));
services.AddScoped(typeof(IPipelineBehavior<,>), typeof(ValidationBehavior<,>)); // from Koto.Validation
services.AddScoped(typeof(IPipelineBehavior<,>), typeof(TransactionBehavior<,>));
Design notes
IDomainEvent— internal; free to change; never crosses service boundaries.IIntegrationEvent— external contract; versioned; published to Kafka via Wolverine.IIntegrationCommand— fire-and-forget command to another service;IIntegrationCommand<TResult>expects a reply.
| 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
- Koto.Domain (>= 0.1.0-preview.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Koto.Application:
| Package | Downloads |
|---|---|
|
Koto.Messaging.Wolverine
Wolverine-based implementation of Koto messaging abstractions: integration event publishing, command dispatching, Kafka consumers with idempotency, correlation propagation, and DLQ routing. |
|
|
Koto.Validation
FluentValidation extensions for Koto: MustBeValueObject, MustBeEntity, ListMustContainNumberOfItems, and ValidationBehavior pipeline integration. |
|
|
Koto.EventSourcing.Marten
Event Sourcing on PostgreSQL via Marten 8: EventSourcedAggregateRoot, event-sourced repository, inline and async projections. |
|
|
Koto.Api.FastEndpoints
FastEndpoints integration for Koto: CQRS base endpoints, RFC 7807 Problem Details from Error, correlation ID middleware, and global exception handler. |
|
|
Koto.Infrastructure.EFCore
EF Core 10 integration for Koto DDD: generic repository, strongly-typed ID converters, specification pattern, and Wolverine outbox wiring. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.0 | 197 | 7/21/2026 |
| 0.3.0-preview.15 | 97 | 7/21/2026 |
| 0.3.0-preview.14 | 90 | 7/21/2026 |
| 0.3.0-preview.13 | 89 | 7/21/2026 |
| 0.3.0-preview.12 | 88 | 7/21/2026 |
| 0.3.0-preview.11 | 89 | 7/21/2026 |
| 0.3.0-preview.10 | 91 | 7/21/2026 |
| 0.3.0-preview.9 | 94 | 7/21/2026 |
| 0.3.0-preview.8 | 85 | 7/21/2026 |
| 0.3.0-preview.7 | 82 | 7/21/2026 |
| 0.3.0-preview.6 | 80 | 7/20/2026 |
| 0.3.0-preview.5 | 80 | 7/19/2026 |
| 0.3.0-preview.4 | 83 | 7/19/2026 |
| 0.3.0-preview.3 | 100 | 7/11/2026 |
| 0.3.0-preview.2 | 87 | 7/11/2026 |
| 0.3.0-preview.1 | 89 | 7/3/2026 |
| 0.2.0-preview.1 | 96 | 6/28/2026 |
| 0.1.0-preview.5 | 88 | 5/13/2026 |
| 0.1.0-preview.4 | 83 | 5/13/2026 |
| 0.1.0-preview.3 | 77 | 5/13/2026 |