IInputChannel Rozhraní
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Definuje rozhraní, které musí kanál implementovat, aby přijímal zprávu.
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
- Odvozené
- Implementuje
Poznámky
Důležité
Volání metod z tříd, které implementují toto rozhraní s nedůvěryhodnými daty, představuje bezpečnostní riziko. Volání metod z tříd, které implementují toto rozhraní pouze s důvěryhodnými daty. Další informace najdete v tématu Ověření všech vstupů.
Kontrakt IInputChannel obsahuje synchronní a asynchronní varianty funkcí příjmu, try-to-receive a wait-for-a-message.
Model vyžádání změn se obvykle používá s objektem pro IInputChannel příjem zpráv: zavoláte Receive (abyste zprávu vytáhli z kanálu) a potom počkáte, až zpráva dorazí. Alternativním vzorem použití je volání BeginWaitForMessage(TimeSpan, AsyncCallback, Object) nebo BeginWaitForMessage(TimeSpan, AsyncCallback, Object)a následné volání Receive(TimeSpan)metody . Tento přístup je běžný u transakčních použití, kdy zahájíte transakci mezi voláními a WaitForMessage(TimeSpan)Receive.
Není IInputChannel nutně vázán na jednoho odesílatele. Jiné kanály a rozhraní kanálů mohou poskytovat korelaci mezi konkrétními odesílateli a IInputChannel, ale základní kontrakt takové omezení neposkytuje. Implementace může vytvořit novou IInputChannel zprávu pro každou zprávu nebo znovu použít stejnou IInputChannel pro více zpráv a odesílatelů.
Vlastnosti
LocalAddress |
Získá adresu, na které vstupní kanál přijímá zprávy. |
State |
Získá aktuální stav objektu orientovaného na komunikaci. (Zděděno od ICommunicationObject) |
Metody
Abort() |
Způsobí, že komunikační objekt okamžitě přejde z aktuálního stavu do uzavřeného stavu. (Zděděno od ICommunicationObject) |
BeginClose(AsyncCallback, Object) |
Zahájí asynchronní operaci k zavření komunikačního objektu. (Zděděno od ICommunicationObject) |
BeginClose(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci uzavření komunikačního objektu se zadaným časovým limitem. (Zděděno od ICommunicationObject) |
BeginOpen(AsyncCallback, Object) |
Zahájí asynchronní operaci otevření komunikačního objektu. (Zděděno od ICommunicationObject) |
BeginOpen(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní operaci, která otevře komunikační objekt v zadaném časovém intervalu. (Zděděno od ICommunicationObject) |
BeginReceive(AsyncCallback, Object) |
Zahájí asynchronní operaci, která přijme zprávu, která má přidružený objekt stavu. |
BeginReceive(TimeSpan, AsyncCallback, Object) |
Začne asynchronní operaci přijmout zprávu, která má zadaný časový limit a stav objektu přidruženého k němu. |
BeginTryReceive(TimeSpan, AsyncCallback, Object) |
Začne asynchronní operaci přijmout zprávu, která má zadaný časový limit a stav objektu přidruženého k němu. |
BeginWaitForMessage(TimeSpan, AsyncCallback, Object) |
Zahájí asynchronní čekání na doručení zprávy, která má přidružený zadaný časový limit a objekt stavu. |
Close() |
Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu. (Zděděno od ICommunicationObject) |
Close(TimeSpan) |
Způsobí přechod komunikačního objektu z aktuálního stavu do uzavřeného stavu. (Zděděno od ICommunicationObject) |
EndClose(IAsyncResult) |
Dokončí asynchronní operaci pro zavření komunikačního objektu. (Zděděno od ICommunicationObject) |
EndOpen(IAsyncResult) |
Dokončí asynchronní operaci pro otevření komunikačního objektu. (Zděděno od ICommunicationObject) |
EndReceive(IAsyncResult) |
Dokončí asynchronní operaci pro přijetí zprávy. |
EndTryReceive(IAsyncResult, Message) |
Dokončí zadanou asynchronní operaci a přijme zprávu. |
EndWaitForMessage(IAsyncResult) |
Dokončí zadanou asynchronní operaci čekání na zprávu. |
GetProperty<T>() |
Vrátí typovaný objekt požadovaný (pokud je k dispozici) z příslušné vrstvy v zásobníku kanálů. (Zděděno od IChannel) |
Open() |
Způsobí přechod komunikačního objektu ze stavu vytvoření do otevřeného stavu. (Zděděno od ICommunicationObject) |
Open(TimeSpan) |
Způsobí přechod komunikačního objektu z vytvořeného stavu do otevřeného stavu v zadaném časovém intervalu. (Zděděno od ICommunicationObject) |
Receive() |
Vrátí přijatou zprávu, pokud je k dispozici. Pokud zpráva není k dispozici, zablokuje výchozí časový interval. |
Receive(TimeSpan) |
Vrátí přijatou zprávu, pokud je k dispozici. Pokud zpráva není k dispozici, zablokuje se v zadaném časovém intervalu. |
TryReceive(TimeSpan, Message) |
Pokusí se přijmout zprávu v zadaném časovém intervalu. |
WaitForMessage(TimeSpan) |
Vrátí hodnotu, která označuje, jestli zpráva přišla v zadaném časovém intervalu. |
Událost
Closed |
Nastane, když komunikační objekt dokončí svůj přechod z uzavírací stav do uzavřeného stavu. (Zděděno od ICommunicationObject) |
Closing |
Vyvolá se při prvním vstupu komunikačního objektu do uzavíracího stavu. (Zděděno od ICommunicationObject) |
Faulted |
Vyvolá se při prvním vstupu komunikačního objektu do stavu selhání. (Zděděno od ICommunicationObject) |
Opened |
Vyvolá se, když komunikační objekt dokončí přechod ze stavu otevření do otevřeného stavu. (Zděděno od ICommunicationObject) |
Opening |
Vyvolá se při prvním vstupu komunikačního objektu do stavu otevření. (Zděděno od ICommunicationObject) |
Metody rozšíření
CloseHelperAsync(ICommunicationObject, TimeSpan) |
Definuje rozhraní, které musí kanál implementovat, aby přijímal zprávu. |
OpenHelperAsync(ICommunicationObject, TimeSpan) |
Definuje rozhraní, které musí kanál implementovat, aby přijímal zprávu. |
Platí pro
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro