Cqrs 2.4.1619.839

There is a newer version of this package available.
See the version list below for details.
dotnet add package Cqrs --version 2.4.1619.839
NuGet\Install-Package Cqrs -Version 2.4.1619.839
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Cqrs" Version="2.4.1619.839" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Cqrs --version 2.4.1619.839
#r "nuget: Cqrs, 2.4.1619.839"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Cqrs as a Cake Addin
#addin nuget:?package=Cqrs&version=2.4.1619.839

// Install Cqrs as a Cake Tool
#tool nuget:?package=Cqrs&version=2.4.1619.839

A lightweight enterprise Function as a service (FaaS) framework to write function based serverless and micro-service applications in hybrid multi-datacentre, on-premise and Azure environments, offering modern patterns such as CQRS and event-sourcing. Offering a superior combination of serverless, micro-service and traditional deployments both in the cloud and on-premise to suit any business. Deployments can be inter-conntected with each other sharing data and resourcing or independant and issolated while providing a consistent framework and guideline for both development, deployment, DevOps and administration.

CQRS.NET has been designed with modularity in mind... see the number of technology packages below you can chose from. Modularity applies to both development concerns like storage as well as operational modularity such as serverless or micro-service deployment, PaaS, VMs or container packaging. Every package and design choice made should be interchangeable with custom code if needed.

CQRS.NET

Tutorials and getting started

For those new to CQRS.NET, we strongly suggest you have a look at our basic Hello World Tutorial that covers the basics of sending messages between a website and a function via commands and events, including pushing real-time messages back to the browser without refreshing your screen in a very simplcity micro-service kinda of way.

Or you can have a look at our basic Northwind Tutorial which takes you through converting an existing legacy website covering some queries, views, read stores and read models, then getting into actioning function with commands, events aggregates and event handlers (the function itself). This takes you on the micro-service path as well while keeping it very simple and running all the services in one website to keep the tutorial simple. At any stage you can start to break up the well structured code into separate API endpoints.

And for those looking for a more thorough tutorial including a deep, deep dive into best practises we suggest you start with the A Beginner's Guide section in the wiki. This covers much, much more than just functions, but modern coding practises that really do work in the cloud.

Documentation

CQRS.NET API reference documentation is available to browse. We are adding more and more documentation as we edit each file. By version 3.0 we aim to have all public methods and classes documented. User documentation is starting off for now in the wiki section of this project. We strongly invite people to post questions and issues which we'll answer and work on.

Product Compatible and additional computed target framework versions.
.NET Framework net40 is compatible.  net403 was computed.  net45 was computed.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (46)

Showing the top 5 NuGet packages that depend on Cqrs:

Package Downloads
Cqrs.Mongo

Use MongoDB as the read store and data store in CQRS.NET

Cqrs.Ninject

Provides preconfigured Ninject modules that will wire up the required component necessary. Several modules are optional such as the InProcess or the SimplaifySQL modules. You only need to use those if you are using InProcess or SQL.

Cqrs.EventStore

Use Greg Young's event store as the Event Store in CQRS.NET

Cqrs.Azure.ServiceBus

Use Azure ServiceBus as a message, event or command bus in CQRS.NET

Cqrs.Azure.ConfigurationManager

Use Azure Configuration Manager as the configuration manager in CQRS.NET

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.1.0.44 6,906 1/19/2024
5.0.0.43 1,100 1/17/2024
5.0.0.42 1,387 1/15/2024
5.0.0.41 1,204 1/15/2024
5.0.0.40 1,106 1/15/2024
5.0.0.39 1,125 1/15/2024
5.0.0.38 1,227 1/14/2024
5.0.0.37 1,146 1/14/2024
5.0.0.36 1,152 1/13/2024
5.0.0.35 1,459 12/15/2023
5.0.0.34 1,481 12/10/2023
5.0.0.33 1,398 12/8/2023
5.0.0.32 2,451 11/19/2023
5.0.0.30 6,922 10/23/2023
5.0.0.29 1,318 10/22/2023
5.0.0.28 1,158 10/19/2023
4.5.1.27 1,852 10/2/2023
4.5.1.26 1,243 10/2/2023
4.4.1.24 28,507 11/21/2022
4.4.1.23 8,622 10/21/2022
4.4.1.22 4,583 10/21/2022
4.4.1.21 5,234 10/13/2022
4.3.20 7,306 7/24/2022
4.3.19 5,121 7/23/2022
4.3.18 6,181 6/25/2022
4.3.17 5,106 6/25/2022
4.3.16 5,128 6/25/2022
4.3.15 8,177 6/23/2022
4.3.14 8,692 6/10/2022
4.3.13 5,345 6/9/2022
4.3.12 1,880 6/9/2022
4.3.11 1,876 6/9/2022
4.3.10 5,316 6/8/2022
4.3.9 7,701 5/30/2022
4.3.8 7,656 4/16/2022
4.3.7.2083851369 6,079 4/3/2022
4.3.6.2083241347 5,862 4/2/2022
4.3.3.1240345038 18,400 9/16/2021
4.2.1736.932 13,590 4/11/2021
4.2.1734.929 5,146 4/11/2021
4.2.1733.928 5,330 4/11/2021
4.2.1729.923 14,457 9/17/2020
4.2.1728.922 5,442 9/17/2020
4.2.1724.919 8,019 12/27/2019
4.2.1723.918 5,688 12/27/2019
4.2.1721.916 5,759 12/26/2019
4.2.1720.915 5,917 12/26/2019
4.2.1719.914 5,224 12/26/2019
4.2.1717.912 5,599 12/26/2019
4.2.1715.911 5,538 12/26/2019
4.2.1713.909 6,060 12/26/2019
4.2.1711.907 5,814 12/26/2019
4.2.1710.906 5,357 12/26/2019
4.1.1706.902 6,126 11/25/2019
4.1.1699.898 4,872 11/25/2019
4.1.1695.893 5,040 11/25/2019
4.1.1694.892 5,018 11/24/2019
4.1.1694.889 3,031 11/24/2019
4.0.1687.883 4,166 11/23/2019
4.0.1670.873 4,128 11/23/2019
4.0.1663.868 3,433 11/22/2019
4.0.1659.865 3,249 11/22/2019
4.0.1659.864 3,240 11/22/2019
2.4.1639.856 12,097 8/17/2018
2.4.1622.842 11,848 6/29/2018
2.4.1621.841 11,019 6/24/2018
2.4.1619.839 11,106 6/24/2018
2.3.1595.820 11,124 3/29/2018
2.3.1584.809 11,121 3/20/2018
2.3.1583.808 11,092 3/20/2018
2.3.1581.806 11,005 3/15/2018
2.3.1580.805 10,970 3/8/2018
2.3.1579.804 11,124 3/8/2018
2.3.1572.797 11,222 2/19/2018
2.2.1466.702 11,352 9/18/2017
2.2.1440.678 11,190 8/1/2017
2.2.1428.666 10,860 7/25/2017
2.2.1410.652 11,082 7/23/2017
2.2.1405.647 11,620 7/21/2017
2.1.1347.590 11,031 6/23/2017
2.0.1317.561 10,085 6/6/2017
1.601.1108.447 10,962 11/5/2016
1.601.1007 8,800 5/24/2016
1.601.954 8,657 5/2/2016
1.601.790 9,768 2/23/2016
1.601.787 8,630 11/2/2015
1.500.403.298 8,366 11/15/2014
1.500.395.288 6,922 11/7/2014
1.500.393.286 7,274 11/5/2014
1.500.368.263 6,594 11/3/2014

Version 2.3

* Added ApplyChanges to AggregateRoot and Saga for more optimal handling of multiple events.
* Added IEventWithIdentity and ICommandWithIdentity to provide better event and command traceability versus aggregate and saga identification.
* Added better command sending abilities into Sagas.
* Added the ability to specify (via configuration) separate table for the EventStore when using SQL.
* Added configurable support for using the private bus.
* Added a SampleRuntime class. This is a sample runtime to use in proof of concept projects to get something running very quickly. Doesn't save anything. All data is lost when recycled and may cause terrible memory usage.
* Added GetToVersion To the EventStore so you can get events up to a set version
* Added GetToDate To the EventStore so you can get events up to a specific date
* Added GetBetweenDates To the EventStore so you can get events between specific dates
* Opened up the BusRegistar to allow manual registration of handlers
* Added support for the SQL EventStore to support snapshots.

Version 2.2

* Added configuration transformations to required app.config and web.config settings are more obvious and set by default.
* Refactored CqrsHttpApplication from the Cqrs.WebApi package here without a requirement on SignalR.
* Added several base level Hosts for WebAPI, WCF WebJobs and console to base themselves off.
* Relocated InProcessEventStore here.
* Added new Exceptions.
* ReplicatedSqlEventStore was relocated from the Cqrs.Sql package into this package.
* Moved MultipleCommandHandlersRegisteredException to Cqrs.Exceptions
* Moved MultipleHandlersRegisteredException to Cqrs.Exceptions
* Moved NoCommandHandlerRegisteredException to Cqrs.Exceptions
* Moved NoEventHandlerRegisteredException to Cqrs.Exceptions
* Moved NoHandlerRegisteredException to Cqrs.Exceptions
* Moved NoHandlersRegisteredException to Cqrs.Exceptions

Version 2.1

* Renamed and deprecated Cqrs.Domain.IRepository to Cqrs.Domain.IAggregateRepository.
* Renamed and deprecated Cqrs.Domain.Repository to Cqrs.Domain.AggregateRepository.
* #11. Added Saga/Process Manager via a new Cqrs.Domain.Saga class. This is an event handler with access to the Command Bus for sending command and uses an EventStore for state management.
* #17. Added an authentication helper based on integers and Guids, see DefaultAuthenticationTokenHelper.
* #18. Added IPublishAndWaitCommandPublisher to replace the deprecated ISendAndWaitCommandSender.
* #18. Added IPublishAndWaitCommandPublisher to InProcessBus.
* #19. Added support for multiple write and read connection strings for simplified SQL data store.

Version 2.0

* Added built-in Linq To SQL data store and event store modules to speed up time to market. This enables the use of just the one CQRS package to get to market. This adds a new configuration property "SqlDataStoreDbFileOrServerOrConnection" to the appSettings.
* Added Sql script for creating an event store table on SqlServer. Look in the Tool folder of the nuget package folder.
* An example for using the new Sql modules for data persistence and event sourcing can be found at our GitHub repository. Look for the 'Samples\CqrsWeb' Project.
* Added a repository builder and data-store builder to entities in UML.
* Added code generation for the base Host class.
* Added an event store service class so event can be queried by CorrelationId for external services that don't have access to the bus network.
* Added new stereo type on relationships to visually model aggregate to event EventHandlers.
* Added new stereo type on relationships to visually model event to command converter EventHandlers.
* Added new stereo type on relationships to visually model command to aggregate CommandHandlers.
* Added a new companion package Cqrs.WebApi that provides the base for ASP.NET Web API usage with CQRS.NET.
* Added configurable setting to enable certain events and commands to not be required to be handled by the service bus (useful when you want an instance of the system to just run a subset of all possible events that might be received by a poorly configured bus). Currently only AzureService bus support this.
* Added configurable setting to change the default behaviour of the "certain events and commands are required or not" settings into a white-list or black-list.
* Added a tokens "TokenWithUserRsn", "TokenWithCompanyRsn" and "TokenWithUserRsnAndCompanyRsn".
* Added MemoryCacheEventStore.
* Added SendAndWait to command senders.
* Added the EventStoreRetentionLevel Attribute to allow custom event publishers to use a standardised metric to decide hot, warm and cold storage of events.
* Added public/private event attributes.
* Added public/private notification attributes.
* Added telemetry data collection on repositories and event-stores.
* Added ability to send a collection of commands and events.
* Deprecated the ICommandSender and replaced it with the ICommandPublisher.
* Allowed the JsonSettings in draw default from DefaultJsonSerializerSettings so that custom contract resolvers and converters added without needing to inherit and implement a customise classes.