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) |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по