IInputChannel.TryReceive(TimeSpan, Message) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Tente de recevoir un message dans un intervalle de temps spécifié.
public:
bool TryReceive(TimeSpan timeout, [Runtime::InteropServices::Out] System::ServiceModel::Channels::Message ^ % message);
public bool TryReceive(TimeSpan timeout, out System.ServiceModel.Channels.Message message);
abstract member TryReceive : TimeSpan * Message -> bool
Public Function TryReceive (timeout As TimeSpan, ByRef message As Message) As Boolean
Paramètres
- timeout
- TimeSpan
IAsyncResult Retourné par un appel à l’une des BeginReceive méthodes.
Retours
true si un message est reçu avant le timeout dépassement ; sinon false.
Exceptions
La valeur spécifiée timeout est dépassée avant la fin de l’opération.
Le délai d’expiration spécifié est inférieur à zéro.
Exemples
Le code suivant montre comment implémenter cette méthode :
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 allez gérer les délais d’expiration et pas seulement jeter ou encapsuler le TimeoutException, alors vous devez appeler TryReceive(TimeSpan, Message) au lieu de Receive.
Si vous ne traitez pas les délais d’expiration spécialement, appelez Receivesimplement , sinon vous perdrez des informations d’erreur.