MessageQueue.PeekById MessageQueue.PeekById MessageQueue.PeekById MessageQueue.PeekById Method

Определение

Возвращает копию сообщения с указанным идентификатором сообщения, не удаляя это сообщение из очереди.Returns a copy of the message that has the specified message identifier without removing the message from the queue.

Перегрузки

PeekById(String) PeekById(String) PeekById(String) PeekById(String)

Считывает сообщение, идентификатор которого соответствует параметру id.Peeks the message whose message identifier matches the id parameter.

PeekById(String, TimeSpan) PeekById(String, TimeSpan) PeekById(String, TimeSpan) PeekById(String, TimeSpan)

Считывает сообщение, идентификатор которого соответствует параметру id.Peeks the message whose message identifier matches the id parameter. Ожидает, пока сообщение не появится в очереди, или не возникнет тайм-аут.Waits until the message appears in the queue or a time-out occurs.

PeekById(String) PeekById(String) PeekById(String) PeekById(String)

Считывает сообщение, идентификатор которого соответствует параметру id.Peeks the message whose message identifier matches the id parameter.

public:
 System::Messaging::Message ^ PeekById(System::String ^ id);
public System.Messaging.Message PeekById (string id);
member this.PeekById : string -> System.Messaging.Message
Public Function PeekById (id As String) As Message

Параметры

id
String String String String

Свойство Id считываемого сообщения.The Id of the message to peek.

Возвраты

Объект Message, свойство Id которого соответствует параметру id.The Message whose Id property matches the id parameter.

Исключения

Параметр id имеет значение null.The id parameter is null.

Нет сообщения с указанным параметром id.No message with the specified id exists.

При обращении к методу службы очереди сообщений возникла ошибка.An error occurred when accessing a Message Queuing method.

Примеры

В следующем коде показано использование функции PeekById(String).The following code example demonstrates the use of PeekById(String).


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create a new message.
Message^ msg = gcnew Message("Example Message Body");

// Send the message.
queue->Send(msg, "Example Message Label");

// Get the message's Id property value.
String^ id = msg->Id;

// Simulate doing other work so the message has time to arrive.
System::Threading::Thread::Sleep(TimeSpan::FromSeconds(10.0));

// Peek at the message.
msg = queue->PeekById(id);

queue->Close();


// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create a new message.
Message msg = new Message("Example Message Body");

// Send the message.
queue.Send(msg, "Example Message Label");

// Get the message's Id property value.
string id = msg.Id;

// Simulate doing other work so the message has time to arrive.
System.Threading.Thread.Sleep(TimeSpan.FromSeconds(10.0));

// Peek at the message.
msg = queue.PeekById(id);

Комментарии

Используйте PeekById(String) для чтения, без удаления из очереди, сообщения с известным идентификатором сообщения.Use PeekById(String) to read, without removing from the queue, a message that has a known message identifier. Идентификатор сообщения уникален в рамках организации очереди сообщений, поэтому в очереди имеется не более одного сообщения, которое соответствует заданному id параметру.The identifier of a message is unique across the Message Queuing enterprise, so there will be at most one message in the queue that matches the given id parameter. Эта перегрузка создает исключение, если в настоящий момент очередь не содержит сообщение.This overload throws an exception if the queue does not currently contain the message.

Два дополнительных метода позволяют просматривать сообщения в очереди: Peek и. PeekByCorrelationId(String)Two additional methods allow you to peek messages in a queue: Peek and PeekByCorrelationId(String). Peek Метод возвращает первое сообщение в очереди; PeekByCorrelationId(String) возвращает сообщение о подтверждении, отчете или созданном приложением ответе, созданное в результате сообщения, отправленного в очередь.The Peek method returns the first message in the queue; PeekByCorrelationId(String) returns an acknowledgment, report, or application-generated response message that was created as a result of a message sent to the queue.

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.The following table shows whether this method is available in various Workgroup modes.

Режим рабочей группыWorkgroup mode ДоступноAvailable
Локальный компьютерLocal computer ДаYes
Локальный компьютер и прямое имя форматаLocal computer and direct format name ДаYes
Удаленный компьютерRemote computer НетNo
Удаленный компьютер и прямое имя форматаRemote computer and direct format name ДаYes
Дополнительно

PeekById(String, TimeSpan) PeekById(String, TimeSpan) PeekById(String, TimeSpan) PeekById(String, TimeSpan)

Считывает сообщение, идентификатор которого соответствует параметру id.Peeks the message whose message identifier matches the id parameter. Ожидает, пока сообщение не появится в очереди, или не возникнет тайм-аут.Waits until the message appears in the queue or a time-out occurs.

public:
 System::Messaging::Message ^ PeekById(System::String ^ id, TimeSpan timeout);
public System.Messaging.Message PeekById (string id, TimeSpan timeout);
member this.PeekById : string * TimeSpan -> System.Messaging.Message
Public Function PeekById (id As String, timeout As TimeSpan) As Message

Параметры

id
String String String String

Свойство Id считываемого сообщения.The Id of the message to peek.

timeout
TimeSpan TimeSpan TimeSpan TimeSpan

Структура TimeSpan, показывающая время ожидания нового сообщения для проверки.A TimeSpan that indicates the time to wait until a new message is available for inspection.

Возвраты

Объект Message, свойство Id которого соответствует параметру id.The Message whose Id property matches the id parameter.

Исключения

Параметр id имеет значение null.The id parameter is null.

Для параметра timeout задано недопустимое значение; возможно, значение параметра timeout меньше Zero или больше InfiniteTimeout.The value specified for the timeout parameter is not valid, possibly timeout is less than Zero or greater than InfiniteTimeout.

Сообщение с заданным параметром id не существует в очереди и не поступило до истечения периода времени, установленного параметром timeout.The message with the specified id does not exist in the queue and did not arrive before the period specified by the timeout parameter expired.

При обращении к методу службы очереди сообщений возникла ошибка.An error occurred when accessing a Message Queuing method.

Примеры

В следующем коде показано использование функции PeekById(String, TimeSpan).The following code example demonstrates the use of PeekById(String, TimeSpan).


// Connect to a queue on the local computer.
MessageQueue^ queue = gcnew MessageQueue(".\\exampleQueue");

// Create a new message.
Message^ msg = gcnew Message("Example Message Body");

// Send the message.
queue->Send(msg, "Example Message Label");

// Get the message's Id property value.
String^ id = msg->Id;

// Peek at the message.
msg = queue->PeekById(id, TimeSpan::FromSeconds(10.0));

queue->Close();


// Connect to a queue on the local computer.
MessageQueue queue = new MessageQueue(".\\exampleQueue");

// Create a new message.
Message msg = new Message("Example Message Body");

// Send the message.
queue.Send(msg, "Example Message Label");

// Get the message's Id property value.
string id = msg.Id;

// Peek at the message.
msg = queue.PeekById(id, TimeSpan.FromSeconds(10.0));

Комментарии

Используйте PeekById(String) для чтения, без удаления из очереди, сообщения с известным идентификатором сообщения.Use PeekById(String) to read, without removing from the queue, a message that has a known message identifier. Идентификатор сообщения уникален в рамках организации очереди сообщений, поэтому в очереди имеется не более одного сообщения, которое соответствует заданному id параметру.The identifier of a message is unique across the Message Queuing enterprise, so there will be at most one message in the queue that matches the given id parameter. Эта перегрузка создает исключение, если в настоящий момент очередь не содержит сообщение и новое сообщение не поступает до истечения времени ожидания.This overload throws an exception if the queue does not currently contain the message and a new message does not arrive before the time-out occurs.

timeout Параметр не задает общее время выполнения для этого метода.The timeout parameter does not specify the total running time for this method. Вместо этого он указывает время ожидания поступления нового сообщения в очередь.Rather, it specifies the time to wait for a new message to arrive in the queue. Каждый раз, когда поступает новое сообщение, этот метод проверяет Id новое сообщение, чтобы проверить, id соответствует ли он параметру.Each time a new message arrives, this method examines the Id of the new message to see if it matches the id parameter. В противном случае этот метод запускает период времени ожидания и ожидает поступления другого нового сообщения.If not, this method starts the time-out period over and waits for another new message to arrive. Таким образом, если новые сообщения продолжают поступать в течение времени ожидания, этот метод может продолжать работу в течение неограниченного времени, пока не истечет время ожидания, не прибегая новых сообщений или пока не поступит сообщение, для Id которого id соответствует параметру.Therefore, if new messages continue to arrive within the time-out period, it is possible for this method to continue running indefinitely, either until the time-out period expires without any new messages arriving, or until a message arrives whose Id matches the id parameter.

Два дополнительных метода позволяют просматривать сообщения в очереди: Peek и. PeekByCorrelationId(String)Two additional methods allow you to peek messages in a queue: Peek and PeekByCorrelationId(String). Peek Метод возвращает первое сообщение в очереди; PeekByCorrelationId(String) возвращает сообщение о подтверждении, отчете или созданном приложением ответе, созданное в результате сообщения, отправленного в очередь.The Peek method returns the first message in the queue; PeekByCorrelationId(String) returns an acknowledgment, report, or application-generated response message that was created as a result of a message sent to the queue.

В следующей таблице показано, доступен ли этот метод в различных режимах рабочей группы.The following table shows whether this method is available in various Workgroup modes.

Режим рабочей группыWorkgroup mode ДоступноAvailable
Локальный компьютерLocal computer ДаYes
Локальный компьютер и прямое имя форматаLocal computer and direct format name ДаYes
Удаленный компьютерRemote computer НетNo
Удаленный компьютер и прямое имя форматаRemote computer and direct format name ДаYes
Дополнительно

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