IInputChannel.TryReceive(TimeSpan, Message) Méthode

Définition

Tente de recevoir un message dans un intervalle de temps spécifié.

C#
public bool TryReceive (TimeSpan timeout, out System.ServiceModel.Channels.Message message);

Paramètres

timeout
TimeSpan

IAsyncResult retourné par un appel de l'une des méthodes BeginReceive.

message
Message

Message reçu.

Retours

true si un message est reçu avant que le timeout soit dépassé ; sinon false.

Exceptions

Le timeout spécifié est dépassé avant que l'opération soit effectuée.

Le délai d'attente spécifié est inférieur à zéro.

Exemples

Le code suivant illustre comment implémenter cette méthode :

C#
public bool TryReceive(TimeSpan timeout, out Message message)
{
    bool result;
    while (true)
    {
        result = this.InnerChannel.TryReceive(timeout, out message);
        if (ProcessReceivedMessage(ref message))
        {
            break;
        }
    }

    return result;
}

Remarques

Si vous souhaitez gérer des délais d'attente et ne pas seulement lever à nouveau ou encapsuler l'TimeoutException, vous devez appeler TryReceive(TimeSpan, Message) au lieu de Receive.

Si vous ne souhaitez pas traiter spécialement des délais d'attente, appelez uniquement Receive, sinon vous perdrez des informations relatives à l'erreur.

S’applique à

Produit Versions
.NET Core 1.0, Core 1.1
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
UWP 10.0