Sdílet prostřednictvím


Kanál (Webové služby Systému Windows)

Kanály zapouzdřují komunikační kontext mezi dvěma nebo více stranami a používají se k odesílání a přijímání zpráv.

V klientovi vytvořte kanál pomocí WsCreateChannel. Na serveru použijte WsCreateChannelForListener k vytvoření kanálu, který lze přijmout klientem pomocí naslouchacího procesu.

Při vytváření kanálu zadáte následující informace, které určují místní chování kanálu i přenosového protokolu, který se má použít.

  • WS_CHANNEL_TYPE, který identifikuje způsob výměny zpráv kanálu.
  • WS_CHANNEL_BINDING, který identifikuje protokol pro přenos, který se má použít.
  • WS_SECURITY_DESCRIPTION, který určuje zabezpečení používané pro kanál. Při vytváření kanálů pro použití na serveru je toto nastavení určeno jednou pro všechny kanály, které budou přijaty pro daný naslouchací proces.
  • Sada WS_CHANNEL_PROPERTYs, která určují další volitelná nastavení (seznam těchto nastavení najdete v WS_CHANNEL_PROPERTY_ID výčtech).

Před použitím kanálu ho musíte otevřít voláním funkce WsOpenChannel a zadáním kanálu a adresy koncového boduspolu s dalšími volitelnými informacemi.

Informace o přechodech stavu kanálu najdete v tématu Channel States.

Další informace o kanálech najdete v tématu Channel Layer Overview.

V kanálech se používají následující prvky rozhraní API.

Zpětné volání Popis
WS_ABANDON_MESSAGE_CALLBACK Zpracovává WsAbandonMessage volání kanálu s vlastní vazbou kanálu.
WS_ABORT_CHANNEL_CALLBACK Zpracovává WsAbortChannel volání kanálu s vlastní vazbou kanálu.
WS_CLOSE_CHANNEL_CALLBACK Zpracovává WsCloseChannel volání kanálu s vlastní vazbou kanálu.
WS_CREATE_CHANNEL_CALLBACK Zpracovává WsCloseChannel volání kanálu s vlastní vazbou kanálu.
WS_CREATE_DECODER_CALLBACK Zpracovává vytvoření instance dekodéru.
WS_CREATE_ENCODER_CALLBACK Zpracovává vytváření instance kodéru.
WS_DECODER_DECODE_CALLBACK Dekóduje zprávu.
WS_DECODER_END_CALLBACK Dekóduje konec zprávy.
WS_DECODER_GET_CONTENT_TYPE_CALLBACK Získá typ obsahu zprávy.
WS_DECODER_START_CALLBACK Spustí dekódování zprávy.
WS_ENCODER_ENCODE_CALLBACK Zakóduje zprávu.
WS_ENCODER_END_CALLBACK Zakóduje konec zprávy.
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK Získá typ obsahu zprávy.
WS_ENCODER_START_CALLBACK Spustí kódování zprávy.
WS_FREE_CHANNEL_CALLBACK Zpracovává WsFreeChannel volání kanálu s vlastní vazbou kanálu.
WS_FREE_DECODER_CALLBACK Zpracovává uvolnění instance dekodéru.
WS_FREE_ENCODER_CALLBACK Zpracovává uvolnění instance kodéru.
WS_GET_CHANNEL_PROPERTY_CALLBACK Zpracovává WsGetChannelProperty volání kanálu s vlastní vazbou kanálu.
WS_HTTP_REDIRECT_CALLBACK Vyvoláno, když se zpráva chystá automaticky přesměrovat do jiné služby využívající funkci automatického přesměrování HTTP, jak je popsáno v RFC2616.
WS_OPEN_CHANNEL_CALLBACK Zpracovává WsOpenChannel volání kanálu s vlastní vazbou kanálu.
WS_READ_MESSAGE_END_CALLBACK Zpracovává WsReadMessageEnd volání kanálu s vlastní vazbou kanálu.
WS_READ_MESSAGE_START_CALLBACK Zpracovává WsReadMessageEnd volání kanálu s vlastní vazbou kanálu.
WS_RESET_CHANNEL_CALLBACK Zpracovává WsResetChannel volání kanálu s vlastní vazbou kanálu.
WS_SET_CHANNEL_PROPERTY_CALLBACK Zpracovává WsSetChannelProperty volání kanálu s vlastní vazbou kanálu.
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK Zpracovává WsShutdownSessionChannel volání kanálu s vlastní vazbou kanálu.
WS_WRITE_MESSAGE_END_CALLBACK Zpracovává WsWriteMessageEnd volání kanálu s vlastní vazbou kanálu.
WS_WRITE_MESSAGE_START_CALLBACK Zpracovává WsWriteMessageStart volání kanálu s vlastní vazbou kanálu.

 

Výčet Popis
WS_CHANNEL_BINDING Označuje zásobník protokolu, který se má pro kanál použít.
WS_CHANNEL_PROPERTY_ID Identifikuje každou vlastnost kanálu podle ID.
WS_CHANNEL_STATE Stav kanálu.
WS_CHANNEL_TYPE Označuje základní charakteristiky kanálu, jako je například to, zda je relace a jaké směry komunikace jsou podporovány.
WS_ENCODING Různá kódování (formáty zpráv).
WS_RECEIVE_OPTION Určuje, jestli se při příjmu z kanálu vyžaduje zpráva.
WS_TRANSFER_MODE Určuje, jestli se zprávy odesílané nebo přijaté streamují nebo ukládají do vyrovnávací paměti.

 

Funkce Popis
wsAbandonMessage Přeskočí zbytek zprávy kanálu.
WsAbortChannel Přeruší všechny čekající vstupně-výstupní operace v zadaném kanálu a nastaví stav kanálu na WS_CHANNEL_STATE_FAULTED.
WsCloseChannel Zavře kanál, když už ho nepotřebujete.
WsCreateChannel Vytvoří kanál.
WsCreateChannelForListener Vytvoří kanál pro naslouchací proces.
WsFreeChannel Uvolní paměťové prostředky přidružené k kanálu.
wsGetChannelProperty Načte vlastnost kanálu odkazovaného parametrem kanálu.
WsOpenChannel Otevře kanál ke koncovému bodu.
WsReadMessageEnd Přečte koncové prvky zprávy z kanálu.
WsReadMessageStart Přečte záhlaví další zprávy z kanálu a připraví se ke čtení prvků textu.
WsReceiveMessage Přijme zprávu a deserializuje text zprávy jako hodnotu.
WsRequestReply Odešle zprávu požadavku a obdrží korelovanou zprávu odpovědi.
WsResetChannel Resetujte kanál, aby se mohl znovu použít.
WsSendMessage Odešle zprávu v kanálu pomocí serializace k zápisu základního elementu.
WsSendReplyMessage Odešle zprávu, která je odpovědí na přijatou zprávu.
WsSetChannelProperty Nastaví vlastnost kanálu.
WsSetMessageProperty Nastaví vlastnost zprávy.
WsWriteMessageEnd Zapíše koncové prvky zprávy do kanálu.
WsWriteMessageStart Zapište hlavičky zprávy do kanálu a připraví se na zápis prvků textu.

 

Klika Popis
WS_CHANNEL Neprůkazný typ použitý k odkaz na kanál.

 

Struktura Popis
WS_CHANNEL_DECODER Sada zpětných volání, které transformují typ obsahu a kódované bajty přijaté zprávy.
WS_CHANNEL_ENCODER Sada zpětných volání, které mohou transformovat typ obsahu a kódované bajty odeslané zprávy.
WS_CHANNEL_PROPERTIES Sada WS_CHANNEL_PROPERTY struktur.
WS_CHANNEL_PROPERTY Nastavení specifické pro kanál.
WS_CUSTOM_CHANNEL_CALLBACKS Sada zpětných volání, která tvoří implementaci vlastního kanálu.
WS_CUSTOM_HTTP_PROXY slouží k zadání vlastního proxy serveru pro kanál pomocí WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY hodnoty WS_CHANNEL_PROPERTY_ID výčtu.
WS_HTTP_HEADER_MAPPING Představuje jednotlivou hlavičku, která je mapována jako součást WS_HTTP_MESSAGE_MAPPING.
WS_HTTP_MESSAGE_MAPPING Informace o tom, jak by se požadavek HTTP nebo odpověď měly reprezentovat v objektu zprávy.
WS_HTTP_REDIRECT_CALLBACK_CONTEXT Určuje funkci zpětného volání a stav řízení chování automatického přesměrování HTTP.
WS_MESSAGE_DESCRIPTION Schéma pro vstupní a výstupní WS_MESSAGE pro daný popis operace.