Koto.Application
0.2.0-preview.1
See the version list below for details.
dotnet add package Koto.Application --version 0.2.0-preview.1
NuGet\Install-Package Koto.Application -Version 0.2.0-preview.1
<PackageReference Include="Koto.Application" Version="0.2.0-preview.1" />
<PackageVersion Include="Koto.Application" Version="0.2.0-preview.1" />
<PackageReference Include="Koto.Application" />
paket add Koto.Application --version 0.2.0-preview.1
#r "nuget: Koto.Application, 0.2.0-preview.1"
#:package Koto.Application@0.2.0-preview.1
#addin nuget:?package=Koto.Application&version=0.2.0-preview.1&prerelease
#tool nuget:?package=Koto.Application&version=0.2.0-preview.1&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.2.0-preview.1)
- 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.Validation
FluentValidation extensions for Koto: MustBeValueObject, MustBeEntity, ListMustContainNumberOfItems, and ValidationBehavior pipeline integration. |
|
|
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.EventSourcing.Marten
Event Sourcing on PostgreSQL via Marten 8: EventSourcedAggregateRoot, event-sourced repository, inline and async projections. |
|
|
Koto.Infrastructure.EFCore
EF Core 10 integration for Koto DDD: generic repository, strongly-typed ID converters, specification pattern, and Wolverine outbox wiring. |
|
|
Koto.Api.FastEndpoints
FastEndpoints integration for Koto: CQRS base endpoints, RFC 7807 Problem Details from Error, correlation ID middleware, and global exception handler. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.4.0 | 75 | 7/21/2026 |
| 0.3.0-preview.15 | 43 | 7/21/2026 |
| 0.3.0-preview.14 | 47 | 7/21/2026 |
| 0.3.0-preview.13 | 44 | 7/21/2026 |
| 0.3.0-preview.12 | 49 | 7/21/2026 |
| 0.3.0-preview.11 | 52 | 7/21/2026 |
| 0.3.0-preview.10 | 46 | 7/21/2026 |
| 0.3.0-preview.9 | 53 | 7/21/2026 |
| 0.3.0-preview.8 | 43 | 7/21/2026 |
| 0.3.0-preview.7 | 46 | 7/21/2026 |
| 0.3.0-preview.6 | 63 | 7/20/2026 |
| 0.3.0-preview.5 | 65 | 7/19/2026 |
| 0.3.0-preview.4 | 66 | 7/19/2026 |
| 0.3.0-preview.3 | 81 | 7/11/2026 |
| 0.3.0-preview.2 | 68 | 7/11/2026 |
| 0.3.0-preview.1 | 74 | 7/3/2026 |
| 0.2.0-preview.1 | 83 | 6/28/2026 |
| 0.1.0-preview.5 | 84 | 5/13/2026 |
| 0.1.0-preview.4 | 78 | 5/13/2026 |
| 0.1.0-preview.3 | 69 | 5/13/2026 |