Kanal (Windows Web Services)
Kanaler kapslar in en kommunikationskontext mellan två eller flera parter och används för att skicka och ta emot meddelanden.
På klienten använder du WsCreateChannel för att skapa en kanal. På servern använder du WsCreateChannelForListener för att skapa en kanal som kan accepteras av klienten med hjälp av en lyssnare.
När du skapar en kanal anger du följande information, som avgör både kanalens lokala beteende och det trådprotokoll som ska användas.
- En WS_CHANNEL_TYPE, som identifierar kanalens meddelandeutbytesmönster.
- En WS_CHANNEL_BINDING, som identifierar överföringsprotokollet som ska användas.
- En WS_SECURITY_DESCRIPTION, som anger den säkerhet som används för kanalen. När du skapar kanaler för användning på en server anges detta en gång för alla kanaler som kommer att accepteras för en viss lyssnare.
- En uppsättning WS_CHANNEL_PROPERTYs, som anger ytterligare valfria inställningar (en lista över de här inställningarna finns i WS_CHANNEL_PROPERTY_ID uppräkningar).
Innan du använder kanalen måste du öppna den genom att anropa funktionen WsOpenChannel och ange kanalen och slutpunktsadressen, tillsammans med annan valfri information.
Information om tillståndsövergångar för en kanal finns i avsnittet Kanaltillstånd.
Mer information om kanaler finns i avsnittet Channel Layer Overview.
Följande API-element används med kanaler.
Motringning | Beskrivning |
---|---|
WS_ABANDON_MESSAGE_CALLBACK | Hanterar WsAbandonMessage anropar en kanal med anpassad kanalbindning. |
WS_ABORT_CHANNEL_CALLBACK | Hanterar WsAbortChannel anropa en kanal med anpassad kanalbindning. |
WS_CLOSE_CHANNEL_CALLBACK | Hanterar WsCloseChannel anropar en kanal med anpassad kanalbindning. |
WS_CREATE_CHANNEL_CALLBACK | Hanterar WsCloseChannel anropar en kanal med anpassad kanalbindning. |
WS_CREATE_DECODER_CALLBACK | Hanterar skapandet av en avkodarinstans. |
WS_CREATE_ENCODER_CALLBACK | Hanterar skapandet av en kodarinstans. |
WS_DECODER_DECODE_CALLBACK | Avkodar ett meddelande. |
WS_DECODER_END_CALLBACK | Avkodar slutet av ett meddelande. |
WS_DECODER_GET_CONTENT_TYPE_CALLBACK | Hämtar meddelandets innehållstyp. |
WS_DECODER_START_CALLBACK | Börjar avkoda ett meddelande. |
WS_ENCODER_ENCODE_CALLBACK | Kodar ett meddelande. |
WS_ENCODER_END_CALLBACK | Kodar slutet på ett meddelande. |
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK | Hämtar meddelandets innehållstyp. |
WS_ENCODER_START_CALLBACK | Börjar koda ett meddelande. |
WS_FREE_CHANNEL_CALLBACK | Hanterar WsFreeChannel anropar en kanal med anpassad kanalbindning. |
WS_FREE_DECODER_CALLBACK | Hanterar frigör en avkodarinstans. |
WS_FREE_ENCODER_CALLBACK | Hanterar frigör en kodarinstans. |
WS_GET_CHANNEL_PROPERTY_CALLBACK | Hanterar WsGetChannelProperty anropar en kanal med anpassad kanalbindning. |
WS_HTTP_REDIRECT_CALLBACK | Anropas när ett meddelande är på väg att omdirigeras automatiskt till en annan tjänst som använder funktionen för automatisk omdirigering av HTTP enligt beskrivningen i RFC2616. |
WS_OPEN_CHANNEL_CALLBACK | Hanterar WsOpenChannel anropa en kanal med anpassad kanalbindning. |
WS_READ_MESSAGE_END_CALLBACK | Hanterar WsReadMessageEnd anropar en kanal med anpassad kanalbindning. |
WS_READ_MESSAGE_START_CALLBACK | Hanterar WsReadMessageEnd anropar en kanal med anpassad kanalbindning. |
WS_RESET_CHANNEL_CALLBACK | Hanterar WsResetChannel anropar en kanal med anpassad kanalbindning. |
WS_SET_CHANNEL_PROPERTY_CALLBACK | Hanterar WsSetChannelProperty anropar en kanal med anpassad kanalbindning. |
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK | Hanterar WsShutdownSessionChannel anropa en kanal med anpassad kanalbindning. |
WS_WRITE_MESSAGE_END_CALLBACK | Hanterar WsWriteMessageEnd anropa en kanal med anpassad kanalbindning. |
WS_WRITE_MESSAGE_START_CALLBACK | Hanterar WsWriteMessageStart anropar en kanal med anpassad kanalbindning. |
Uppräkning | Beskrivning |
---|---|
WS_CHANNEL_BINDING | Anger den protokollstacken som ska användas för kanalen. |
WS_CHANNEL_PROPERTY_ID | Identifierar varje kanalegenskap med ett ID. |
WS_CHANNEL_STATE | Kanalens tillstånd. |
WS_CHANNEL_TYPE | Anger de grundläggande egenskaperna för kanalen, till exempel om den är sessionskänslig och vilka kommunikationsriktningar som stöds. |
WS_ENCODING | De olika kodningarna (meddelandeformat). |
WS_RECEIVE_OPTION | Anger om ett meddelande krävs när du tar emot från en kanal. |
WS_TRANSFER_MODE | Anger om meddelanden som skickas eller tas emot strömmas eller buffrats. |
Funktion | Beskrivning |
---|---|
WsAbandonMessage | Hoppar över resten av ett meddelande för en kanal. |
WsAbortChannel | Avbryter alla väntande I/O på en angiven kanal och anger kanaltillståndet till WS_CHANNEL_STATE_FAULTED. |
WsCloseChannel | Stänger en kanal när den inte längre behövs. |
WsCreateChannel | Skapar en kanal. |
WsCreateChannelForListener | Skapar en kanal för en lyssnare. |
WsFreeChannel | Frigör de minnesresurser som är associerade med en kanal. |
WsGetChannelProperty | Hämtar en egenskap för kanalen som refereras av kanalparametern. |
WsOpenChannel | Öppnar en kanal till en slutpunkt. |
WsReadMessageEnd | Läser de avslutande elementen i ett meddelande från en kanal. |
WsReadMessageStarta | Läser rubrikerna i nästa meddelande från kanalen och förbereder sig för att läsa brödtextelementen. |
WsReceiveMessage | Tar emot ett meddelande och deserialiserar meddelandets brödtext som ett värde. |
WsRequestReply | Skickar ett begärandemeddelande och tar emot ett korrelerat svarsmeddelande. |
WsResetChannel | Återställ en kanal så att den kan återanvändas. |
WsSendMessage | Skickar ett meddelande på en kanal med serialisering för att skriva brödtextelementet. |
WsSendReplyMessage | Skickar ett meddelande som är ett svar på ett mottaget meddelande. |
WsSetChannelProperty | Anger en egenskap för en kanal. |
WsSetMessageProperty | Anger en egenskap för ett meddelande. |
WsWriteMessageEnd | Skriver de avslutande elementen i ett meddelande till kanalen. |
WsWriteMessageStarta | Skriv ut rubrikerna i ett meddelande till kanalen och förbereder för att skriva brödtextelementen. |
Handtag | Beskrivning |
---|---|
WS_CHANNEL | En ogenomskinlig typ som används för att referera till en kanal. |
Struktur | Beskrivning |
---|---|
WS_CHANNEL_DECODER | En uppsättning motringningar som transformerar innehållstypen och kodade byte för ett mottaget meddelande. |
WS_CHANNEL_ENCODER | En uppsättning motringningar som kan transformera innehållstypen och kodade byte för ett skickat meddelande. |
WS_CHANNEL_PROPERTIES | En uppsättning WS_CHANNEL_PROPERTY strukturer. |
WS_CHANNEL_PROPERTY | En kanalspecifik inställning. |
WS_CUSTOM_CHANNEL_CALLBACKS | En uppsättning återanrop som utgör implementeringen av en anpassad kanal. |
WS_CUSTOM_HTTP_PROXY | används för att ange den anpassade proxyn för kanalen med hjälp av WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY värdet för WS_CHANNEL_PROPERTY_ID uppräkning. |
WS_HTTP_HEADER_MAPPING | Representerar en enskild rubrik som mappas som en del av WS_HTTP_MESSAGE_MAPPING. |
WS_HTTP_MESSAGE_MAPPING | Information om hur en HTTP-begäran eller ett http-svar ska representeras i ett meddelandeobjekt. |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | Anger återanropsfunktionen och tillståndet för att styra http-funktionen för automatisk omdirigering. |
WS_MESSAGE_DESCRIPTION | Schemat för in- och utdata WS_MESSAGE för en viss åtgärdsbeskrivning. |