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. |