NCache For Pub/Sub Messaging Cache
NCache provides a Pub/Sub messaging paradigm to publish or subscribe messages. It is responsible for exchanging messages between multiple applications where the publisher sends the messages without knowing who the subscriber(s) is. The channel used for the exchange of messages is called Topic and the subscriber subscribes to their topic of interest for receiving the relevant messages. NCache provides multiple types of subscriptions between the subscribers and publishers.
Pub/Sub Messaging Cache: NCache Demonstration using Sample .NET Application
Follow the steps mentioned below to see how NCache is used to perform various operations on your .NET application's data.
Important
To learn about the supported .NET versions, please refer to the NCache Installation Guide.
Step 1: Download Sample from GitHub
Go to the NCache repository on GitHub and download the entire repository or the Pub/Sub Messaging sample you are interested in.
Step 2: Launch the Project
Launch your .NET Pub/Sub Messaging sample application in Visual Studio 2022 or above.
Step 3: Configure Settings
After launching the project, locate and open the App.config file where you have to change the name of your cache to the one created before.
Step 4: Build and Run Sample
After configuring the cache settings, build the sample application for further use.
Important
Threadpool Setting for .NET 8.0
For Windows, it is essential to set the
UseWindowsThreadPool
flag to true. For already built applications, set theUseWindowsThreadPool
flag in runtimeconfig.json file:{ "runtimeOptions": { "configProperties": { "System.Threading.ThreadPool.UseWindowsThreadPool": true } } }
During development phase, this file will be overwritten with each compilation. Therefore, define the
UseWindowsThreadPool
property in the project file instead, as follows:<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <UseWindowsThreadPool>true</UseWindowsThreadPool> </PropertyGroup> </Project>
To learn more about the
UseWindowsThreadPool
flag, click here.For Linux, it is mandatory to set the
MinimumThreads
flag to a value of 100 in the runtimeconfig.json, as follows:{ "runtimeOptions": { "configProperties": { "System.Threading.ThreadPool.MinThreads": 100 } } }
To learn more about the
MinThreads
flag, click here.
See Also
Create Distributed Cache
Create Distributed Cache with Persistence
Use NCache for ASP.NET Core Sessions