IInputChannel Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Definisce l'interfaccia che un canale deve implementare per ricevere un messaggio.
public interface class IInputChannel : System::ServiceModel::Channels::IChannel
public interface IInputChannel : System.ServiceModel.Channels.IChannel
type IInputChannel = interface
interface IChannel
interface ICommunicationObject
Public Interface IInputChannel
Implements IChannel
- Derivato
- Implementazioni
Commenti
Importante
La chiamata di metodi da classi che implementano questa interfaccia con dati non attendibili è un rischio per la sicurezza. Chiamare i metodi dalle classi che implementano questa interfaccia solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.
Il IInputChannel contratto include varianti sincrone e asincrone di ricezione, try-to-receive e wait-for-a-message.
Il modello pull viene in genere usato con un IInputChannel oggetto per ricevere messaggi: si chiama Receive (per eseguire il pull di un messaggio fuori dal canale) e quindi attendere l'arrivo di un messaggio. Un modello di utilizzo alternativo consiste nel chiamare BeginWaitForMessage(TimeSpan, AsyncCallback, Object) o BeginWaitForMessage(TimeSpan, AsyncCallback, Object)e quindi chiamare Receive(TimeSpan). Questo approccio è comune per gli utilizzi transazionali in cui si avvia la transazione tra le chiamate a WaitForMessage(TimeSpan) e Receive.
Un IInputChannel oggetto non è necessariamente associato a un singolo mittente. Altri canali e interfacce di canale possono fornire una correlazione tra mittenti specifici e un oggetto IInputChannel, ma il contratto di base non applica tale restrizione. Un'implementazione può creare un nuovo IInputChannel per ogni messaggio o riutilizzare lo stesso IInputChannel per più messaggi e mittenti.
Proprietà
| Nome | Descrizione |
|---|---|
| LocalAddress |
Ottiene l'indirizzo in cui il canale di input riceve messaggi. |
| State |
Ottiene lo stato corrente dell'oggetto orientato alla comunicazione. (Ereditato da ICommunicationObject) |
Metodi
| Nome | Descrizione |
|---|---|
| Abort() |
Fa sì che un oggetto di comunicazione passi immediatamente dallo stato corrente allo stato chiuso. (Ereditato da ICommunicationObject) |
| BeginClose(AsyncCallback, Object) |
Avvia un'operazione asincrona per chiudere un oggetto di comunicazione. (Ereditato da ICommunicationObject) |
| BeginClose(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per chiudere un oggetto di comunicazione con un timeout specificato. (Ereditato da ICommunicationObject) |
| BeginOpen(AsyncCallback, Object) |
Avvia un'operazione asincrona per aprire un oggetto di comunicazione. (Ereditato da ICommunicationObject) |
| BeginOpen(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per aprire un oggetto di comunicazione entro un intervallo di tempo specificato. (Ereditato da ICommunicationObject) |
| BeginReceive(AsyncCallback, Object) |
Avvia un'operazione asincrona per ricevere un messaggio a cui è associato un oggetto stato. |
| BeginReceive(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per ricevere un messaggio con un timeout specificato e un oggetto di stato associato. |
| BeginTryReceive(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per ricevere un messaggio con un timeout specificato e un oggetto di stato associato. |
| BeginWaitForMessage(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione di attesa asincrona per l'arrivo di un messaggio con un timeout specificato e un oggetto di stato associato. |
| Close() |
Fa sì che un oggetto di comunicazione passi dallo stato corrente allo stato chiuso. (Ereditato da ICommunicationObject) |
| Close(TimeSpan) |
Fa sì che un oggetto di comunicazione passi dallo stato corrente allo stato chiuso. (Ereditato da ICommunicationObject) |
| EndClose(IAsyncResult) |
Completa un'operazione asincrona per chiudere un oggetto di comunicazione. (Ereditato da ICommunicationObject) |
| EndOpen(IAsyncResult) |
Completa un'operazione asincrona per aprire un oggetto di comunicazione. (Ereditato da ICommunicationObject) |
| EndReceive(IAsyncResult) |
Completa un'operazione asincrona per ricevere un messaggio. |
| EndTryReceive(IAsyncResult, Message) |
Completa l'operazione asincrona specificata per ricevere un messaggio. |
| EndWaitForMessage(IAsyncResult) |
Completa l'operazione di attesa asincrona specificata per un messaggio. |
| GetProperty<T>() |
Restituisce un oggetto tipizzato richiesto, se presente, dal livello appropriato nello stack di canali. (Ereditato da IChannel) |
| Open() |
Fa sì che un oggetto di comunicazione passi dallo stato creato allo stato aperto. (Ereditato da ICommunicationObject) |
| Open(TimeSpan) |
Fa sì che un oggetto di comunicazione passi dallo stato creato allo stato aperto entro un intervallo di tempo specificato. (Ereditato da ICommunicationObject) |
| Receive() |
Restituisce il messaggio ricevuto, se disponibile. Se un messaggio non è disponibile, blocca per un intervallo di tempo predefinito. |
| Receive(TimeSpan) |
Restituisce il messaggio ricevuto, se disponibile. Se un messaggio non è disponibile, blocca per un intervallo di tempo specificato. |
| TryReceive(TimeSpan, Message) |
Prova a ricevere un messaggio entro un intervallo di tempo specificato. |
| WaitForMessage(TimeSpan) |
Restituisce un valore che indica se un messaggio è arrivato entro un intervallo di tempo specificato. |
Eventi
| Nome | Descrizione |
|---|---|
| Closed |
Si verifica quando l'oggetto di comunicazione completa la transizione dallo stato di chiusura allo stato chiuso. (Ereditato da ICommunicationObject) |
| Closing |
Si verifica quando l'oggetto di comunicazione entra per la prima volta nello stato di chiusura. (Ereditato da ICommunicationObject) |
| Faulted |
Si verifica quando l'oggetto di comunicazione entra per la prima volta nello stato di errore. (Ereditato da ICommunicationObject) |
| Opened |
Si verifica quando l'oggetto di comunicazione completa la transizione dallo stato di apertura allo stato aperto. (Ereditato da ICommunicationObject) |
| Opening |
Si verifica quando l'oggetto di comunicazione entra per la prima volta nello stato di apertura. (Ereditato da ICommunicationObject) |