Я использую класс SqlDependency и безуспешно пытается найти список возможных комбинаций Type, Source и Info свойства объекта SqlNotificationEventArgs.
Это является самым близким, которое я нашел до сих пор. Тем не менее, я знаю, что это не охватывает все, потому что я уже видел комбинацию Change/Client/Error.
Мне бы очень хотелось знать, могу ли я обрабатывать все возможные случаи наилучшим образом. То есть, когда это возможно, я хотел бы восстановить "подписку".
Например, изменение/клиент/ошибка выполнялось с сетевой проблемой, которая прерывала связь между SqlServer и моим приложением. Как только связь была восстановлена, я смог успешно восстановиться.
EDIT:
Возможно, это поможет, если я приведу несколько примеров проблем, которые у меня есть. Для следующих вопросов, когда я говорю "восстановить", я имею в виду восстановить подписку во время выполнения, то есть без ручного вмешательства.
- Можно ли предположить, что Type
Subscribe
означает, что я ничего не могу сделать для восстановления. - Можно ли предположить, что Source
Data
всегда будет иметь Infotruncate
,insert
,update
илиdelete
. Если нет, то всегда будет что-то подобное. В настоящее время я не различаю эти случаи, и я просто восстанавливаю подписку и извлекаю обновленные данные. - Можно ли предположить, что, за исключением, возможно, Info
Alter
, a Sourceobject
означает, что мой запрос больше не действителен, и я не смогу восстановить его.