Автоматическая генерация электронной почты на основе поля в базе данных SQL Server - PullRequest
1 голос
/ 11 апреля 2011

Мне нужно что-то, что будет работать во внутренней сети и отслеживать базу данных SQL Server на наличие условия, основанное на поле даты, а затем генерировать электронное письмо, когда это условие будет выполнено для внутреннего пользователя.

Попытка пересчета; Он должен отслеживать БД, и когда Дата в определенном поле достигает переменной, он должен сгенерировать и отправить электронное письмо соответствующему Пользователю.

т.е. и Авто-напоминание

Я отправляю электронные письма через наш сервер Exchange в нашем приложении для настольных компьютеров, поэтому я считаю, что у меня все хорошо в части электронной почты. Я не очень много занимался веб-разработкой, поэтому мне интересно, является ли веб-служба тем, что я ищу в ответ на мой вопрос.

Однажды я написал Службу Windows, которая отслеживает местоположение в сети и генерирует электронную почту на основе событий, это похоже? Как вы взаимодействуете с базой данных SQL Server из службы Windows? Как насчет WCF, где это вписывается.

Я просто хочу убедиться, что смотрю в правильном направлении.

Ответы [ 2 ]

3 голосов
/ 11 апреля 2011

Я сделал то же самое, и служба Windows намного лучше, чем веб-служба в вашем конкретном случае.

Вы не можете автоматически контролировать что-либо с помощью веб-службы;у вас должен быть другой процесс (обычно служба Windows), который будет запрашивать веб-службу для запуска его выполнения.

Кстати, поскольку вы отслеживаете базу данных, вы также можете отправлять электронную почту с сервера SQLтриггер , но поскольку вы выполняете условие, основанное на поле даты, это не очень хороший подход.

2 голосов
/ 11 апреля 2011

Если вы собираетесь отслеживать одну или несколько таблиц в базе данных MS SQL, я думаю, что вы должны использовать триггеры или задания sql . ( У меня лично нет опыта с триггерами, но я думаю, что они похожи на события для таблиц ).

Но в другом решении:

Вы можете разработать службу Windows . Поместите таймер в службу Windows (скажем, он проходит каждую 1 минуту) и проверьте, что вам понадобится , когда таймер истек и затем дождитесь следующего события.

В этом случае вы можете проверить множество других условий, таких как: проверка связи с IP, выполнение запроса к БД, проверка файла и т. Д. *

Веб-сервисы это разные вещи, и они не то, что вам нужно прямо сейчас. Веб-сервисы похожи на шлюз или api для приложения. Когда вы используете API Facebook, фактически вы подключаетесь к веб-сервису.

UPDATE:

О WCF : Допустим, WCF является более клёвым способом реализации веб-службы. Это дает вам больше возможностей, не только при разработке веб-сервисов . Возможно, вы захотите, чтобы ваше приложение связывалось с другими приложениями по каналу TCP . Также это своего рода преемник удаленного взаимодействия .Net.

WCF на MSDN: http://msdn.microsoft.com/en-us/netframework/aa663324.aspx

...