I have an ASP .NET web application dashboard that is used to send notifications to several .NET desktop clients. The current implementation is that the web app writes the new notification to a database and the clients poll this database every 30 seconds and look for notifications with flags marked as 'unread'.
This isn't the most efficient approach as completing a notification send operation to all clients takes 30-45 minutes, mainly because of the slow DB write operations which makes a new entry for each user that the notification needs to be sent to.
What is the alternative strategy and would be most efficient for sending notifications operations which occur once every few days.
You can refer to the API sequence diagram of the DB write operation from the web app dashboard side below.