Поделиться через


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 задает для потока STAmain состояние , поэтому необходимо применить 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)

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

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

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

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