MessageQueueTransaction Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет внутреннюю транзакцию очереди сообщений.
public ref class MessageQueueTransaction : IDisposable
public class MessageQueueTransaction : IDisposable
type MessageQueueTransaction = class
interface IDisposable
Public Class MessageQueueTransaction
Implements IDisposable
- Наследование
-
MessageQueueTransaction
- Реализации
Комментарии
Чтобы отправить или получить сообщение в рамках транзакции, можно использовать MessageQueueTransaction класс для создания транзакции и передачи его в перегрузку MessageQueue.Send метода или MessageQueue.Receive метода, принимающего transaction параметр. Сообщения, отправленные в рамках транзакции, должны отправляться в очереди транзакций. Сообщения, полученные из транзакционных очередей, должны быть получены с помощью указанной транзакции.
Receive Помимо метода можно получать сообщения с указанным идентификатором или указанным идентификатором корреляции. ReceiveById Дополнительные сведения о выборочном получении сообщений из транзакционных очередей см. в и ReceiveByCorrelationId методах.
Сообщения, отправленные в очереди транзакций, удаляются, если транзакция зафиксирована. Аналогичным образом сообщения, полученные из транзакционных очередей, возвращаются в очередь, если транзакция откатится.
Если создать экземпляр MessageQueueTransaction и передать его в применимую перегрузку Send метода или Receive метода, чтобы отправить сообщение в очередь, не относящуюся к транзакциям, или получить сообщение из очереди, отличной от транзакций, метод создает исключение, указывающее "Неправильное использование транзакций".
MessageQueueTransaction учитывает потоки квартиры, поэтому если ваше состояние STAквартиры имеет значение, вы не можете использовать транзакцию в нескольких потоках. Visual Basic задает состояние основного потока STA, поэтому необходимо применить MTAThreadAttribute в подпрограмме Main . В противном случае отправка транзакционного сообщения с помощью другого потока вызывает MessageQueueException исключение. Применяется MTAThreadAttribute с помощью следующего фрагмента.
<System.MTAThreadAttribute>
public sub Main()
Конструкторы
| Имя | Описание |
|---|---|
| MessageQueueTransaction() |
Инициализирует новый экземпляр класса MessageQueueTransaction. |
Свойства
| Имя | Описание |
|---|---|
| Status |
Возвращает состояние транзакции. |
Методы
| Имя | Описание |
|---|---|
| Abort() |
Откат ожидающей внутренней транзакции. |
| Begin() |
Начинает новую внутреннюю транзакцию очереди сообщений. |
| Commit() |
Фиксирует ожидающие внутренние транзакции. |
| Dispose() |
Освобождает все ресурсы, используемые параметром MessageQueueTransaction. |
| Dispose(Boolean) |
Освобождает неуправляемые ресурсы, используемые MessageQueueTransaction и при необходимости освобождает управляемые ресурсы. |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| Finalize() |
Освобождает ресурсы, удерживаемые текущим экземпляром. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Применяется к
Потокобезопасность
Этот тип является потокобезопасной.