Какова лучшая парадигма или шаблон проектирования для обработки исключений в критически важных веб-приложениях, управляемых БД? - PullRequest
3 голосов
/ 19 апреля 2011

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

система будет иметь пользовательский интерфейс asp.net, средний уровень веб-служб и SQL2005задний конец.Пользовательский интерфейс и службы будут взаимодействовать с помощью вызовов JSON.

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

Я планировал использовать блоки try catch в SQL, и мне было интересно, как будет выглядеть интерфейс (или контракт, если хотите) между хранимыми процессами SQL и вызывающими их службами.этот интерфейс будет играть 2 роли, одна из которых - передавать параметры для работы функции и возвращать ожидаемые результаты.следующий будет для proc, чтобы возвратить информацию об ошибке.может быть, что-то вроде номера ошибки и сообщения об ошибке.

Моя проблема заключается в том, как мне разумно структурировать ее так, чтобы службы ожидали и реагировали соответственно как на данные, так и на информацию об ошибках, возвращаемых из procs, и обрабатывали каждый соответственно?

есть ли рамки для этого, потому что это кажется очень котельной плитой?

1 Ответ

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

Возможно, вы захотите заглянуть в SQL Server Service Broker:

http://msdn.microsoft.com/en-us/library/ms345108%28v=sql.90%29.aspx

Уникальные возможности Service Broker и его глубокая интеграция базы данных делает это идеальная платформа для построения новый класс слабо связанных сервисов для приложений базы данных. Услуги Брокер не только приносит асинхронный, отправка сообщений в базу данных приложения, но значительно расширяется современное состояние для надежного сообщений.

...