|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
|
Веб-приложение для организации уведомлений пользователей09.10.2015, 19:59. Показов 1489. Ответов 13
Метки нет (Все метки)
Уважаемые форумчане!
Мне необходимо разработать веб-приложение, которое осуществляет автоматическую рассылку уведомлений по email пользователям, которые подписаны на мой новостной канал. Задача заключается в том, чтобы осуществлять рассылку этих уведомлений в бизнес-время, когда новости актуальны, пользователи гарантировано не спят и смогут увидеть полученное уведомление, а затем перейти по ссылке на интересующий их раздел на моём новостном канале. В уже существующей у меня базе данных, которую я создала на основании адресной книги своего новостной канала, находятся контакты каждого подписчика и соответствующее значение его часового пояса, т.к. мои подписчики из разных временных зон. Скажите, пожалуйста, как можно организовать следующую логику работы веб-приложения на серверной стороне? Мне необходимо, чтобы каждый пользователь в 10.00 утра по своему локальному времени получал уведомление по почте в случае, если в интересующем его разделе на моём новостном сайте появилось новое сообщение. При срабатывании триггера каждый час в веб-приложении на серверной стороне должно генерироваться событие, которое будет выбирать из моей базы данных пользователей того пользователя, в чьей временной зоне сейчас 10.00 утра. Мне непонятно как программно реализовать работу этого триггера и запуск соответствующего события? Подскажите, пожалуйста, как это можно сделать практически (в виде участка соответствующего программного кода)? Как организовать логику, чтобы на серверной стороне в веб-приложении осуществлялось срабатывание триггера каждый час и происходило определение в какой временной зоне сейчас 10.00 утра, а затем запускалось соответствующее событие по выборке из базы данных пользователей, у которых сейчас это время?
0
|
|
| 09.10.2015, 19:59 | |
|
Ответы с готовыми решениями:
13
Шифрование файлов для разных групп пользователей для веб-сайта Веб приложение для администрирования БД Веб приложение для бд mysql |
|
|
|
| 09.10.2015, 21:17 | |
|
Inessa_aks, если время терпит до завтра, то попробую прикинуть, как это организовать.
1
|
|
|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
|
| 09.10.2015, 21:46 [ТС] | |
|
Да. Время, конечно, терпит. Спасибо.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
|
| 11.10.2015, 06:38 [ТС] | |
|
insite2012, разрешите поинтересоваться, вам удалось прикинуть как можно организовать процесс осуществления логики работы веб-приложения, описанной в моём начальном сообщении?
Заранее благодарна вам за помощь.
0
|
|
|
|
||
| 11.10.2015, 07:57 | ||
|
Консоль, либо, что удобнее - Windows-служба, с таймером, который отрабатывает раз в час. При каждой отработке таймера в БД посылается запрос на выборку данных пользователей с нужным временем, после чего уже срабатывает логика рассылки.
0
|
||
|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
|
| 11.10.2015, 09:05 [ТС] | |
|
Хорошо.
Я немного уточню постановку задачи. Мне необходимо, чтобы логика работы приложения осуществлялась при помощи именно веб-приложения. Это необходимо в силу того, что это приложение должно круглые сутки крутиться на сервере и отрабатывать каждый час события по соответствующему временному триггеру. Использование подхода основанного на Windows-службе потребует, чтобы мой домашний компьютер был включен 24 часа в сутки, что для меня не приемлемо. Поэтому мне необходимо реализовать логику работы моего приложения как веб-службы, которую я могла бы разместить на любом хостинге в сети, который поддерживает работу с платформой .NET и базами данных. Здесь возникает сразу несколько вопросов. Какой тип проекта использовать в Visual Studio? Можно строить проект как обычное ASP.NET приложение или нужно использовать подход c использованием WCF? Особенность постановки моей задачи заключается в том, что мне не нужно использовать веб-методы и их вызов через WSDL. Мне нужно, чтобы веб-приложение постоянно крутилось на сервере как веб-служба и отрабатывала необходимые для меня события по временному триггеру. Мой вопрос заключается в том как конкретно можно организовать этот процесс?
0
|
|
|
Каратель
|
|||
| 11.10.2015, 10:43 | |||
|
Добавлено через 1 минуту
0
|
|||
|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
|
| 11.10.2015, 11:34 [ТС] | |
|
OK.
Подскажите, пожалуйста, какие компании предлагают хостинг, где в дополнении ко всем возможностям .NET платформы можно использовать ещё и запуск Windows-служб? Я понимаю, что есть облачный сервис от Microsoft Azure со всеми этим возможностями, но после одного месяца trial-использования их аккаунта я предполагаю, что они зарядят мне такую сумму за использование их услуг, что мне это влетит в копеечку. Использование веб-методов с их вызовом через WSDL у меня не предусматривается, т.к я планирую использовать уже готовый email wrapper, который берёт на себя всю работу, связанную с пересылкой email сообщений. Таким образом, мой вопрос по поводу того, как можно организовать приложение, которое будет постоянно крутиться на сервере как веб-служба и обрабатывать необходимые для меня события по временному триггеру остаётся открытым. Как можно реализовать этот подход?
0
|
|
|
4693 / 2701 / 734
Регистрация: 02.08.2011
Сообщений: 7,226
|
||
| 11.10.2015, 11:45 | ||
|
Добавлено через 5 минут Тип приложения - Web-приложение в VS. Используйте таймер (System.Threading timer).
0
|
||
|
|
|
| 11.10.2015, 12:26 | |
|
Inessa_aks, В целом, ASP.NET не поддерживает отложенных заданий (по кр мере не поддерживало в предыдущих версиях, в последних вроде есть подвижки).
Но можно использовать различные хитрости, разной степени костыльности. Вот например есть такое решение http://blog.stackoverflow.com/... in-aspnet/
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
||||||||||||
| 11.10.2015, 13:11 [ТС] | ||||||||||||
|
В случае использования веб-приложения я не могу понять как мне организовать логику механизма работы запуска событий рассылки сообщений по почте для пользователей из соответствующих временных зон. Я понимаю, что есть так называемое нулевое время по Гринвичу (или UTC - Universal Time Coordinated), от которого отсчитывается +12 часов в одну сторону и -11 часов в другую сторону. Земля вращается, и в каждой временной зоне наступает 10 am утра, в которые нужно осуществлять рассылку тем пользователям, которые находятся в этой временной зоне. Но как КОНКРЕТНО на сервере определить, что именно СЕЙЧАС 10 am в Лондоне? А через час будет 10 am по Берлину, через два часа - по Киеву, через три часа - по Москве? Допустим, я ввела перечисление, чтобы условно отображать эти временные зоны.
Текущую временную зону я получаю при помощи следующего оператора.
Условно говоря мне нужно начать рассылку в 10 am по Лондону, а затем через каждый час стартовать событие моей почтовой рассылки для UTC_OFFSET.UTC_MINUS_1 и т.д. См. https://upload.wikimedia.org/w... _Zones.png Как мне корректно организовать логику работы приложения в этом случае?
0
|
||||||||||||
|
Каратель
|
|||
| 11.10.2015, 13:52 | |||
|
служба, она же windows service, она же unix daemon это не то же самое что и веб-служба. служба работает в фоне и что-то делает постоянно (ожидание тика таймера это тоже дело). веб-служба работает по запросу клиента. иначе говоря это таже самая служба которая ожидает запрос от клиента, есть запрос - она его выполняет, нет запроса - ничего не делает, ожидает запросы. Добавлено через 2 минуты
0
|
|||
|
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,820
|
|
| 11.10.2015, 15:49 | |
|
По поводу таймера: либо фоновый поток , либо запросы по таймеру средствами хостинга , грунт например.
А по поводу времени: приводите время на сервере к UTC формату , а от него , уже пляшите в соответствии с зоной клиента , приводя в ту или иную сторону. или можно обратится к сервисам точного времени.
0
|
|
|
0 / 0 / 0
Регистрация: 09.10.2015
Сообщений: 7
|
|
| 11.10.2015, 16:23 [ТС] | |
|
В ходе проведения экспериментов со своим проектом в Visual Studio я столкнулась с непонятным эффектом самой Студии, которая у меня время от времени крэшила.
Я решила переустановить Visual Studio и поставить новую версию SQL Server 2014. После осуществления этой процедуры я обнаружила, что у меня куда-то пропала опция выбора "SQL Server Database" из диалогового окна добавления новой базы в проект. Подскажите, пожалуйста, в чём тут может быть дело?
0
|
|
| 11.10.2015, 16:23 | |
|
Помогаю со студенческими работами здесь
14
веб приложение для генерации Удаление ярлыка с рабочих столов у всех пользователей в организации Веб приложение для Андроид на php Приложение для работы с веб-камерой Разработать веб-приложение для велосервиса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|