Dignite.NotificationCenter.Domain.Shared 10.7.1

dotnet add package Dignite.NotificationCenter.Domain.Shared --version 10.7.1
                    
NuGet\Install-Package Dignite.NotificationCenter.Domain.Shared -Version 10.7.1
                    
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="Dignite.NotificationCenter.Domain.Shared" Version="10.7.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Dignite.NotificationCenter.Domain.Shared" Version="10.7.1" />
                    
Directory.Packages.props
<PackageReference Include="Dignite.NotificationCenter.Domain.Shared" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Dignite.NotificationCenter.Domain.Shared --version 10.7.1
                    
#r "nuget: Dignite.NotificationCenter.Domain.Shared, 10.7.1"
                    
#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.
#:package Dignite.NotificationCenter.Domain.Shared@10.7.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Dignite.NotificationCenter.Domain.Shared&version=10.7.1
                    
Install as a Cake Addin
#tool nuget:?package=Dignite.NotificationCenter.Domain.Shared&version=10.7.1
                    
Install as a Cake Tool

Dignite.Abp.Notifications

Part of dignite-projects/abp-modules — see the repository README for the other modules, and CONTRIBUTING.md for the build, versioning, and release process shared across them. Formerly developed at dignite-projects/abp-notifications; no package ID changed in the move.

An extensible, event-driven notification framework for the ABP Framework, plus an optional Notification Center (persistent inbox, subscriptions, read/unread state, REST API) with MVC and Angular UI libraries.

  • Event-driven, pluggable notifiers. The core publishes one NotificationDeliveryRequestedEto per recipient and channel; SignalR, email and device push (Expo) ship as separate packages, and a new channel needs no change to the core.
  • Two operation modes, one framework. Run the in-process pipeline alone, with no database, or install the Notification Center for a persistent inbox, subscriptions, read/unread state and a REST API.
  • Split deployment. A service that only publishes hands its notifications to a notification service through its outbox, and shares its definitions through the definition store.
  • Dual persistence. EF Core and MongoDB implement the same inbox and the same definition store.
  • Contract-driven & headless. Every payload carries a stable type discriminator, so any consumer — .NET, JS/TS, or the shipped UI libraries — can deserialize and render it.
  • Multi-tenant & permission-aware — ABP IMultiTenant throughout, with recipient permission and feature checks.

.NET 10 · ABP 10.7 · LGPL-3.0-only

Documentation

Read the documentation — getting started, defining and publishing notifications, routing, the SignalR, email and push channels, writing your own channel, the Notification Center (subscriptions, REST API, delivery guarantees, retention and GDPR erasure), the MVC and Angular UIs, and split deployment.

Packages

Core framework (core/):

Package Purpose
Dignite.Abp.Notifications.Abstractions Every contract and its null default: definitions, routing, INotificationPublisher, payload types, the distributed events, the notifier contract. Business modules depend on only this.
Dignite.Abp.Notifications The default, in-process implementation: publisher, distributor, distribution job, event handlers.
Dignite.Abp.Notifications.Client Remote publishing to a notification service.
Dignite.Abp.Notifications.Domain.Shared / .Domain / .EntityFrameworkCore / .MongoDB The definition store shared by the services of a split deployment.
Dignite.Abp.Notifications.SignalR Real-time notifier (hub at /signalr-hubs/notifications).
Dignite.Abp.Notifications.Emailing / .Emailing.Identity Email notifier, and account email addresses from ABP Identity.
Dignite.Abp.Notifications.Push / .Push.Expo Device push notifier, and the Expo Push Service provider.
Dignite.Abp.Notifications.Identity Recipient permission checks through ABP authorization.

Optional Notification Center (notification-center/):

Package Purpose
Dignite.NotificationCenter.Domain.Shared / .Domain Notification, UserNotification, NotificationSubscription, PushDevice.
Dignite.NotificationCenter.Application.Contracts / .Application Inbox, subscription and push device app services.
Dignite.NotificationCenter.HttpApi / .HttpApi.Client REST API at /api/notification-center, and C# client proxies.
Dignite.NotificationCenter.EntityFrameworkCore / .MongoDB Database providers.
Dignite.NotificationCenter.Web MVC UI: notification bell, inbox page, subscription settings.
Dignite.NotificationCenter.Push / .Push.Identity Push device registry, and push that follows the ABP login session.
@dignite/ng.notification-center (npm) Angular UI: bell, inbox page, subscriptions, API proxies.

The NuGet and npm packages always use the same version.

Quick start

A monolith with the Notification Center on EF Core and the SignalR channel:

dotnet add package Dignite.Abp.Notifications.SignalR
dotnet add package Dignite.NotificationCenter.Application
dotnet add package Dignite.NotificationCenter.HttpApi
dotnet add package Dignite.NotificationCenter.EntityFrameworkCore
[DependsOn(
    typeof(AbpNotificationsSignalRModule),
    typeof(AbpNotificationCenterApplicationModule),        // brings AbpNotificationsModule
    typeof(AbpNotificationCenterHttpApiModule),
    typeof(AbpNotificationCenterEntityFrameworkCoreModule))]
public class MyHostModule : AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        Configure<NotificationRoutingOptions>(options =>
            options.ForNotification("MyProject.OrderShipped", SignalRNotifier.ChannelName));
    }
}

Add builder.ConfigureNotificationCenter() to your migration DbContext, define the notification in a NotificationDefinitionProvider, and publish it:

await _notificationPublisher.PublishAsync(
    "MyProject.OrderShipped",
    new MessageNotificationData($"Your order {order.Number} has shipped."),
    userIds: [order.CustomerId]);

The documentation's Getting Started walks through each step.

Development

dotnet build Dignite.Abp.Notifications.slnx
dotnet test  Dignite.Abp.Notifications.slnx     # EF Core tests on in-memory SQLite, MongoDB tests on an embedded mongod
dotnet run --project host/Dignite.NotificationCenter.Web.Host   # runnable MVC demo host

host/ and angular/ are local-dev demos only and are never packed. The demo host's appsettings.json contains no certificate or encryption passphrases: in Development it uses ABP's development signing certificate; outside Development it requires AuthServer:CertificatePassPhrase and StringEncryption:DefaultPassPhrase (user-secrets, environment variables or a secret store) and fails fast at startup without them.

License

Licensed under LGPL-3.0-only.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Dignite.NotificationCenter.Domain.Shared:

Package Downloads
Dignite.NotificationCenter.Application.Contracts

DTOs and application service interfaces for the Dignite Notification Center's inbox and subscription features.

Dignite.NotificationCenter.Domain

Aggregates for the Dignite Notification Center: Notification, UserNotification, and NotificationSubscription.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.7.1 71 10/29/2026
10.7.0 240 10/15/2026
10.0.0-rc.29 111 10/12/2026
10.0.0-rc.28 114 10/12/2026
10.0.0-rc.27 111 10/10/2026
10.0.0-rc.26 105 10/10/2026
10.0.0-rc.25 107 10/10/2026
10.0.0-rc.24 106 10/9/2026
10.0.0-rc.23 101 10/9/2026
10.0.0-rc.22 113 10/9/2026
10.0.0-rc.21 142 10/7/2026
10.0.0-rc.20 113 10/7/2026
10.0.0-rc.19 106 10/4/2026
10.0.0-rc.18 106 10/4/2026
10.0.0-rc.17 116 9/23/2026
10.0.0-rc.16 140 9/6/2026
10.0.0-rc.15 111 9/5/2026
10.0.0-rc.14 122 9/4/2026
10.0.0-rc.13 120 9/3/2026
10.0.0-rc.11 116 8/30/2026
Loading failed