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
main состояние , поэтому необходимо применить 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) |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.