Dela via


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.