IInputChannel.Receive 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.
Retourne un message reçu par le canal d'entrée, s'il y en a un de disponible avec un intervalle de temps qui est défini explicitement ou implicitement.
Surcharges
Receive() |
Retourne le message reçu, le cas échéant. Si aucun message n'est disponible, elle reste bloquée pendant un intervalle de temps par défaut. |
Receive(TimeSpan) |
Retourne le message reçu, le cas échéant. Si aucun message n'est disponible, elle reste bloquée pendant un intervalle de temps spécifié. |
Remarques
Utilisez la méthode Receive synchrone lorsque le thread en cours peut faire l’objet d’un blocage jusqu’à ce qu’il reçoive le message de demande ou jusqu’à ce que l’intervalle de temps spécifié par timeout
soit dépassé. Utilisez la méthode asynchrone BeginReceive lorsque vous souhaitez que le traitement de l'application se poursuive sans attendre la réception de la demande.
L’opération Receive synchrone est disponible avec ou sans délai d’attente explicite.
Si aucun message n'est disponible, elle reste bloquée jusqu'à ce qu'un message soit disponible ou jusqu'à ce que le délai d'attente soit dépassé.
Receive()
- Source:
- IInputChannel.cs
Retourne le message reçu, le cas échéant. Si aucun message n'est disponible, elle reste bloquée pendant un intervalle de temps par défaut.
public:
System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive ();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message
Retours
Message reçu.
Exemples
Le code suivant illustre comment implémenter cette méthode :
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Remarques
Utilisez la méthode Receive synchrone lorsque le thread en cours peut faire l’objet d’un blocage jusqu’à ce qu’il reçoive le message de demande ou jusqu’à ce que l’intervalle de temps spécifié par timeout
soit dépassé. Utilisez la méthode asynchrone BeginReceive lorsque vous souhaitez que le traitement de l'application se poursuive sans attendre la réception de la demande.
L’opération Receive synchrone est disponible avec ou sans délai d’attente explicite.
Si aucun message n'est disponible, elle reste bloquée jusqu'à ce qu'un message soit disponible ou jusqu'à ce que le délai d'attente soit dépassé.
Receive peut être appelée plusieurs fois ou de manière simultanée. Un seul appel Receive peut être effectué pour chaque message reçu.
S’applique à
Receive(TimeSpan)
- Source:
- IInputChannel.cs
Retourne le message reçu, le cas échéant. Si aucun message n'est disponible, elle reste bloquée pendant un intervalle de temps spécifié.
public:
System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive (TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message
Paramètres
- timeout
- TimeSpan
TimeSpan qui spécifie le délai d'exécution de l'opération de réception avant dépassement du délai d’attente et levée d'une TimeoutException.
Retours
Message reçu.
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 :
public Message Receive(TimeSpan timeout)
{
Message message;
while (true)
{
message = this.InnerChannel.Receive(timeout);
if (ProcessReceivedMessage(ref message))
{
break;
}
}
return message;
}
Remarques
Utilisez la méthode Receive synchrone lorsque le thread en cours peut faire l’objet d’un blocage jusqu’à ce qu’il reçoive le message de demande ou jusqu’à ce que l’intervalle de temps spécifié par timeout
soit dépassé. Utilisez la méthode asynchrone BeginReceive lorsque vous souhaitez que le traitement de l'application se poursuive sans attendre la réception de la demande.
L’opération Receive synchrone est disponible avec ou sans délai d’attente explicite.
Si aucun message n'est disponible, elle reste bloquée jusqu'à ce qu'un message soit disponible ou jusqu'à ce que le délai d'attente soit dépassé.
Receive peut être appelée plusieurs fois ou de manière simultanée. Un seul appel Receive peut être effectué pour chaque message reçu.