IOutputChannel.Send 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.
Envoie un message sur le canal de sortie actuel.
Surcharges
| Nom | Description |
|---|---|
| Send(Message) |
Transmet un message à la destination du canal de sortie. |
| Send(Message, TimeSpan) |
Envoie un message sur le canal de sortie actuel dans un intervalle de temps spécifié. |
Send(Message)
Transmet un message à la destination du canal de sortie.
public:
void Send(System::ServiceModel::Channels::Message ^ message);
public void Send(System.ServiceModel.Channels.Message message);
abstract member Send : System.ServiceModel.Channels.Message -> unit
Public Sub Send (message As Message)
Paramètres
Exemples
Le code suivant montre comment implémenter cette méthode :
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
Remarques
La destination des messages envoyés sur un canal de sortie est spécifiée au moment de la création du canal.
La Send méthode ne garantit pas la remise du message au point de terminaison distant. Une implémentation de IOutputChannel peut supprimer silencieusement des messages pour diverses raisons. Il n’y a peut-être plus de salle de mémoire tampon, par exemple. Si des garanties de remise sont requises, utilisez IOutputSessionChannel.
Le passage du message dans le canal de sortie entraîne la consommation du message. Une fois que vous avez appelé Send, vous ne pouvez plus inspecter le message ou appeler Close le message.
S’applique à
Send(Message, TimeSpan)
Envoie un message sur le canal de sortie actuel dans un intervalle de temps spécifié.
public:
void Send(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public void Send(System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Send : System.ServiceModel.Channels.Message * TimeSpan -> unit
Public Sub Send (message As Message, timeout As TimeSpan)
Paramètres
- timeout
- TimeSpan
Qui TimeSpan spécifie la durée pendant laquelle l’opération d’envoi doit être terminée avant l’expiration du délai d’attente.
Exemples
Le code suivant montre comment implémenter cette méthode :
public bool EndTryReceiveRequest(IAsyncResult result, out RequestContext requestContext)
{
return TryReceiveRequestAsyncResult.End(result, out requestContext);
}
Remarques
La destination des messages envoyés sur un canal de sortie est spécifiée au moment de la création du canal.
La Send méthode ne garantit pas la remise du message au point de terminaison distant. Une implémentation de IOutputChannel peut supprimer silencieusement des messages pour diverses raisons. Il n’y a peut-être plus de salle de mémoire tampon, par exemple. Si des garanties de remise sont requises, utilisez IOutputSessionChannel.
Le passage du message dans le canal de sortie entraîne la consommation du message. Une fois que vous avez appelé Send, vous ne pouvez plus inspecter le message ou appeler Close le message.
Notes pour les responsables de l’implémentation
L’opération doit lever une TimeoutException valeur si la valeur spécifiée timeout est dépassée.