IPlaybackControl Интерфейс

Определение

Функции в компонентах очереди в ненормальной обработке ошибок воспроизведения на стороне сервера и сбоев на стороне клиента механизма доставки очереди сообщений.

public interface class IPlaybackControl
[System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IPlaybackControl
[<System.Runtime.InteropServices.Guid("51372AFD-CAE7-11CF-BE81-00AA00A2FA25")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IPlaybackControl = interface
Public Interface IPlaybackControl
Атрибуты

Комментарии

Класс исключений, определенный для компонента в каталоге COM+, реализует оба IPlaybackControl и интерфейс для исходного класса. Реализации метода исходного интерфейса класса используются для выполнения обработки исключений для неудачных методов в самом классе. Они будут вызываться после FinalClientRetry или FinalServerRetry обрабатывать исключения для метода, первоначально вызываемого.

Проигрыватель компонентов очереди вызывает методы IPlaybackControl для информирования объекта обработчика исключений о том, что сообщение будет помещено в окончательную очередь неактивных или мертвых букв. Проигрыватель компонентов очереди вызывает тот же метод в объекте обработчика исключений, который произошел сбой в исходном вызове метода. Объект обработчика исключений может реализовать альтернативу, например, собирая сведения о диагностике проблемы или создавая объект или сообщение, которое сообщает клиенту о проблеме. Если приложение не реализует IPlaybackControl, то ядное сообщение помещается в последнюю очередь остающихся или недоставленных писем, когда проигрыватель компонентов очереди исчерпывает все повторные попытки.

Отравляющее сообщение — это сообщение, которое не может быть обработано по какой-то причине, возможно, из-за проблемы с сервером или системой очередей. Транзакция откатывается, и ядное сообщение переходит в верхнюю часть очереди. При повторном удалении сообщения происходит то же условие. Это сообщение может продолжать циклически до тех пор, пока что-то не будет сделано, чтобы устранить проблему. Служба очередных компонентов обрабатывает отравляемое сообщение с помощью ряда повторных попыток. После нескольких неудачных повторных попыток сообщение перемещается в окончательную очередь отдыха. Отравляющие сообщения остаются в очереди, пока не перемещаются вручную с помощью средства перемещения сообщений с очередями компонентов.

Ситуация с подозрительным сообщением также может быть решена программным способом, используя FinalServerRetry метод, который сообщает автору компонента на стороне сервера, что все попытки воспроизведения отложенной активации завершились сбоем.

При обнаружении отравляющего сообщения вы можете быстро решить основную причину проблемы. Например, если сервер был в автономном режиме по какой-то причине, вы можете вернуть сервер обратно в сеть. Если вы не можете быстро решить проблему, вы можете автоматически создать другую транзакцию, которая уведомляет запрашивающего о том, что транзакция не произошла. Затем запрашивающий объект может сделать компенсирующую транзакцию, которая изменяет эффект транзакции, которая уже зафиксирована.

Методы

Имя Описание
FinalClientRetry()

Сообщает компоненту обработки исключений на стороне клиента, что все попытки очереди сообщений поставить сообщение серверу были отклонены, и сообщение в итоге было отправлено в очередь недоставленных сообщений Xact Dead Letter на стороне клиента.

FinalServerRetry()

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

Применяется к