Сервис уведомлений для .NET (c#) с приоритетной очередью?
Не могу найти готовый сервис отправки уведомлений на базе C#. Хочу уже готовые классы, которые кладут уведомления в базу + отдельный сервис отправки, который основан на приоритетной очереди, с многопоточностью и т.д., который бы из базы забирал эти уведомления, применял к ним шаблоны и отправлял по нужным каналам, желательно в несколько потоков для большей производительности.
Также чтобы там уже была решена проблема шаблонизации сообщений, везде описывают простенькие варианты, не тянет на готовое законченное решение. Также было бы неплохо, если бы для этого сервиса была работа через высокопроизводительные базы или чтобы можно было подключить нужные пакеты и выбирать с какой базой работать.
Есть ли где-то что-то похожее? А то задача довольно распространенная, но нигде нет решений
Непонятно, о каких уведомлениях идёт речь. Уведомления - это человекочитаемый текст (по эл. почте?) или это сообщения для автоматического сервиса/агента?
Спасибо за ссылочку, посмотрю, почему спрашиваю, хочу сделать это в целях самообучения + в дальнейшей работе пригодится, но в интернетовских статьях максимум простенькие примерчики приводят отправки через ActionMailer например, тянет на быстрое временное решение, не больше )
Нет полных решений потому, что задачи слишком разные. Все в сумме придется допиливать руками.
Для хранения уведомлений и обработки можно использовать Akka.Net.
Но для создания писем уже нужна дополнительная библиотека.
Да нет, отправка писем и смс частые задачи, там ничего разного, просто жадничают, не хотят выкладывать наработки ) Akka.net вообще из другой сферы, для хранения можно юзать обычную таблицу в sql server
Akka.net отлично подходит для реализации движка: приоритетные очереди, многопоточночность, сохранение в БД.
Готового решения, скорее всего не будет, т.к. в топике реально запрашивается слишком разный функционал: "готовые классы, которые кладут уведомления", "сервис отправки, который основан на приоритетной очереди, с многопоточностью и т.д", "Также чтобы там уже была решена проблема шаблонизации сообщений"...
Так что, скорее всего нужно брать разные компоненты и допиливать руками.
Акка.net слишком сложно, в него долго вникать. Я это вижу следующим образом: Nuget пакет, содержащий основные классы, такие как Message, Priority, Transport и какой-то интерфейс INotifiсationWriter и INotificationReader. Скачиваем себе этот пакет, реализуем Writer - под свою БД. Дальше сервис, уже как отдельная программулина реализованная как виндовый сервис. Реализуем там нужный нам ридер (из своей субд), указываем где лежат шаблоны уведомлений (в конфиге), все, он все отсылает, здесь ни к чему использовать Akka, это слишком усложнит, плюс у акки есть проблемы при работе с многопоточкой, у нас есть один проект на Akka, я лично пока что никаких плюсов от него не ощущал