MSMQ v Таблица базы данных - PullRequest
23 голосов
/ 19 декабря 2008

Существующий процесс изменяет поле статуса записи бронирования в таблице в ответ на ввод пользователя.

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

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

Это наше программное обеспечение, которое добавляет и обновляет записи в таблице.

Это новая часть работы (служба Windows), которая будет выполнять асинхронную обработку. Это должно быть "всегда".

Ответы [ 11 ]

0 голосов
/ 19 декабря 2008

Вместо того чтобы делать необработанные вызовы MSMQ, может быть проще, если вы реализуете свой сервис как компонент COM + в очереди и выполняете вызовы функций из своего клиентского приложения. В конце концов, асинхронный сервис все еще использует MSMQ в фоновом режиме, но ваш код будет намного понятнее и проще в использовании.

...