CommandQuery alternatives and similar packages
Based on the "API" category.
Alternatively, view CommandQuery alternatives based on common mentions on social networks and blogs.
-
NancyFx
Lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono. Note: This project is no longer maintained and has been archived. -
ServiceStack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all -
Hot Chocolate
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE. -
WexFlow
An easy and fast way to build automation and workflows on Windows, Linux, macOS, and the cloud. -
Xamarin.Essentials
Essential cross platform APIs for your mobile apps. -
FFImageLoading - Fast & Furious Image Loading
Image loading, caching & transforming library for Xamarin and Windows -
Mobius: C# API for Spark
C# and F# language binding and extensions to Apache Spark -
WebAPI Contrib
Community Contributions for ASP.NET Web API -
JsonApiDotNetCore
A framework for building JSON:API compliant REST APIs using ASP.NET and Entity Framework Core. -
SapphireDb
SapphireDb Server, a self-hosted, easy to use realtime database for Asp.Net Core and EF Core -
🎨 Awesome .Net Core Education
A curated list of awesome articles and resources for learning and practicing .Net Core and its related technologies. -
Lib.AspNetCore.ServerSentEvents
Lib.AspNetCore.ServerSentEvents is a library which provides Server-Sent Events (SSE) support for ASP.NET Core -
EISK Web API
Project based on latest .NET (v6.0) technologies for building scalable web api, along with clean architecture patterns. -
RedditSharp
C# Implementation of the Reddit API. This is an ("unofficial") Fork of SirCmpwn/RedditSharp with Nuget package/support. -
Lib.Web.Mvc
Lib.Web.Mvc is a library which contains some helper classes for ASP.NET MVC such as strongly typed jqGrid helper, attribute and helper providing support for HTTP/2 Server Push with Cache Digest, attribute and helpers providing support for Content Security Policy Level 2, FileResult providing support for Range Requests, action result and helper providing support for XSL transformation and more. -
cryptocompare-api
An async-based CryptoCompare API client library for .NET and .NET Core -
Juka
🥣 Juka Programming Language - Fast Portable Programming Language. Run code anywhere without complicated installations and admin rights. Simple, yet powerful new programming language [Easy to code and run on any system] IOT devices supported! -
Genius.NET
.NET library to access Genius API @ (https://www.genius.com) -
ابزار Persian Tools
Persian Tools for .Net and .Net Core -
Google Search Results in .NET
Google Search Results via SERP API DotNet Package -
Automatic Migration support for EF Core
EF Core Automatic Migration -
Gamepad-Controller-Test
Gamepads are often used as replacements for Mouse / Keyboard. While it is not possible to use them with every game, there are several games available that support gamepad controls, especially console ports of PC titles or even games designed for gamepad controls in the first place. To ensure maximum compatibility, Windows uses a default gamepad driver which supports a wide variety of gamepads. The most notable exception is the Xbox controllers, which still use XBCD for their enhanced features (e.g., force feedback). Therefore I have decided to make an easy test for gamers to test their gamepad controller devices on the go online without wasting any time trying to install third-party softwares which are usually out of order on their PCs to get the job done. This project is inspired by the work of @greggman and tweaks his work a little bit for a better user experience, all credit goes to him for this amazing work and for making my job easy. -
Developer Exception Json Response Middleware
Http Middleware Extensions for ASP.NET Core application -
DuckSharp
An unofficial asynchronous .NET DuckDuckGo Instant Answer Web API wrapper -
Boycotter
Simple library for removing unnecessary properties from objects. -
Phoesion.DevJwt
Dotnet tool/lib for testing JWT-protected web APIs -
ASP.NET Web API
Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices -
ASP.NET WebAPI
Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
Access the most powerful time series database as a service
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of CommandQuery or a related project?
README
CommandQuery<!-- omit in toc -->
Content<!-- omit in toc -->
Introduction
Command Query Separation (CQS) for .NET and C#
- Build services that separate the responsibility of commands and queries
- Focus on implementing the handlers for commands and queries
- Create APIs with less boilerplate code
Available for:
🌐 ASP.NET Core
⚡ AWS Lambda
⚡ Azure Functions
⚡ Google Cloud Functions
🌐 ASP.NET Web API 2
Command Query Separation?
Queries: Return a result and do not change the observable state of the system (are free of side effects).
Commands: Change the state of a system but do not return a value.
In other words:
- Commands
- Writes (create, update, delete) data
- Queries
- Reads and returns data
The traditional approach that commands do not return a value is a bit inconvenient.
CommandQuery
has a pragmatic take and supports both commands with and without result 👍
Packages
CommandQuery
⚙️
Command Query Separation for .NET
- 📃 README: [CommandQuery.md](CommandQuery.md)
- 💁 Samples:
CommandQuery.AspNetCore
🌐
Command Query Separation for ASP.NET Core
- 📃 README: [CommandQuery.AspNetCore.md](CommandQuery.AspNetCore.md)
- 💁 Samples:
CommandQuery.AWSLambda
⚡
Command Query Separation for AWS Lambda
- 📃 README: [CommandQuery.AWSLambda.md](CommandQuery.AWSLambda.md)
- 💁 Samples:
CommandQuery.AzureFunctions
⚡
Command Query Separation for Azure Functions
- 📃 README: [CommandQuery.AzureFunctions.md](CommandQuery.AzureFunctions.md)
- 💁 Samples:
CommandQuery.GoogleCloudFunctions
⚡
Command Query Separation for Google Cloud Functions
- 📃 README: [CommandQuery.GoogleCloudFunctions.md](CommandQuery.GoogleCloudFunctions.md)
- 💁 Samples:
CommandQuery.Client
🧰
Clients for CommandQuery APIs
- 📃 README: [CommandQuery.Client.md](CommandQuery.Client.md)
- 💁 Samples:
CommandQuery.AspNet.WebApi
🌐
Command Query Separation for ASP.NET Web API 2
⛔ This package is no longer maintained and new versions will not be published
- 📃 README: [CommandQuery.AspNet.WebApi.md](CommandQuery.AspNet.WebApi.md)
- 💁 Samples:
Upgrading
⬆️ Upgrading from version
1.0.0
to2.0.0
Upgrade command/query handlers:
- Upgrade the project target framework from
tonet461
netstandard2.0
or greater - Add a
CancellationToken
parameter to theHandleAsync
methods in classes that implementICommandHandler<TCommand>
,ICommandHandler<TCommand, TResult>
andIQueryHandler<TQuery, TResult>
Upgrade AspNet.WebApi:
- Migrate from
CommandQuery.AspNet.WebApi
toCommandQuery.AspNetCore
Upgrade AspNetCore:
- Consider to upgrade the project target framework to
netcoreapp3.1
ornet5.0
- Consider to use the extension methods
AddCommandControllers
andAddQueryControllers
inStartup.cs
Upgrade AWSLambda:
- Upgrade the project target framework to
netcoreapp3.1
- Change the method invocation on
CommandFunction
andQueryFunction
fromtoHandle
HandleAsync
- Change the argument on
HandleAsync
methods fromtoILambdaContext
ILambdaLogger
- Consider to use the extension methods
AddCommandFunction
andAddQueryFunction
onIServiceCollection
- Consider to use the
JsonSerializerOptions
constructor argument inCommandFunction
andQueryFunction
to configure JSON serialization/deserialization
Upgrade AzureFunctions:
- Upgrade the project target framework to
netcoreapp3.1
ornet5.0
- Change the method invocation on
CommandFunction
andQueryFunction
fromtoHandle
HandleAsync
- Consider to use the extension methods
AddCommandControllers
andAddQueryControllers
inStartup.cs
/Program.cs
- Consider to use the
CancellationToken
argument onHandleAsync
methods innetcoreapp3.1
projects - Consider to use the
JsonSerializerSettings
/JsonSerializerOptions
constructor argument inCommandFunction
andQueryFunction
to configure JSON serialization/deserialization
Upgrade Client:
- Change the method invocation on
CommandClient
andQueryClient
fromtoPost
PostAsync
and fromtoGet
GetAsync
- Consider to use the
AddHttpClient
extension method onIServiceCollection
to create theCommandClient
andQueryClient
(see sample) - Consider to use the
CancellationToken
argument to methods inCommandClient
andQueryClient
Validation:
- Consider to use the
AssertConfigurationIsValid
method onCommandProcessor
andQueryProcessor
to validate handler and type configuration
Acknowledgements
Inspired by Steven van Deursen blog posts: