MessageQueueTransaction Класс

Определение

Обеспечивает внутреннюю транзакцию службы Message Queuing.

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()

Начинает новую внутреннюю транзакцию Message Queuing.

Commit()

Фиксирует отложенную внутреннюю транзакцию.

Dispose()

Освобождает все ресурсы, занятые модулем MessageQueueTransaction.

Dispose(Boolean)

Освобождает неуправляемые ресурсы, используемые объектом MessageQueueTransaction, а при необходимости освобождает также управляемые ресурсы.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Finalize()

Освобождает ресурсы, удерживаемые текущим экземпляром.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

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

Потокобезопасность

Данный тип потокобезопасен.

См. также раздел