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