Csatorna (Windows Web Services)
A csatornák két vagy több fél közötti kommunikációs környezetet ágyaznak be, és üzenetek küldéséhez és fogadásához használhatók.
Az ügyfélen a WsCreateChannel használatával hozzon létre egy csatornát. A kiszolgálón WsCreateChannelForListener használatával hozzon létre egy csatornát, amelyet az ügyfél elfogadhat egy figyelővel.
Amikor létrehoz egy csatornát, a következő információkat adja meg, amelyek meghatározzák a csatorna helyi viselkedését és a használni kívánt drótprotokollt.
- Egy WS_CHANNEL_TYPE, amely azonosítja a csatorna üzenetcseréjének mintáját.
- Egy WS_CHANNEL_BINDING, amely azonosítja a használni kívánt átviteli protokollt.
- Egy WS_SECURITY_DESCRIPTION, amely megadja a csatornához használt biztonságot. Ha kiszolgálói használatra hoz létre csatornákat, ez egyszer lesz megadva az összes olyan csatornához, amelyet egy adott figyelő elfogad.
- Egy készlet WS_CHANNEL_PROPERTY, amely további választható beállításokat ad meg (a beállítások listájához lásd a WS_CHANNEL_PROPERTY_ID enumerálásokat).
A csatorna használata előtt meg kell nyitnia a WsOpenChannel függvény meghívásával, és meg kell adnia a csatornát és végpontcímet, valamint egyéb opcionális információkat.
A csatorna állapotáttűnéséről a csatornaállapot- témakör nyújt tájékoztatást.
További információ a csatornákról: Csatornaréteg áttekintése témakör.
A csatornákhoz a következő API-elemeket használjuk.
Visszahívási | Leírás |
---|---|
WS_ABANDON_MESSAGE_CALLBACK | Kezeli a WsAbandonMessage egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_ABORT_CHANNEL_CALLBACK | Kezeli a WsAbortChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_CLOSE_CHANNEL_CALLBACK | Kezeli a WsCloseChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_CREATE_CHANNEL_CALLBACK | Kezeli a WsCloseChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_CREATE_DECODER_CALLBACK | Kezeli a dekóderpéldányok létrehozását. |
WS_CREATE_ENCODER_CALLBACK | Kódolópéldány létrehozását kezeli. |
WS_DECODER_DECODE_CALLBACK | Üzenet dekódolása. |
WS_DECODER_END_CALLBACK | Egy üzenet végét dekódolja. |
WS_DECODER_GET_CONTENT_TYPE_CALLBACK | Lekéri az üzenet tartalomtípusát. |
WS_DECODER_START_CALLBACK | Elkezdi dekódolni az üzenetet. |
WS_ENCODER_ENCODE_CALLBACK | Üzenet kódolása. |
WS_ENCODER_END_CALLBACK | Kódolja az üzenet végét. |
WS_ENCODER_GET_CONTENT_TYPE_CALLBACK | Lekéri az üzenet tartalomtípusát. |
WS_ENCODER_START_CALLBACK | Megkezdi az üzenet kódolását. |
WS_FREE_CHANNEL_CALLBACK | Kezeli a WsFreeChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_FREE_DECODER_CALLBACK | Kezeli a dekóderpéldány felszabadítását. |
WS_FREE_ENCODER_CALLBACK | Kezeli a kódolópéldányok felszabadítását. |
WS_GET_CHANNEL_PROPERTY_CALLBACK | Kezeli a WsGetChannelProperty egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_HTTP_REDIRECT_CALLBACK | Akkor hívjuk meg, amikor egy üzenet automatikusan átirányítódik egy másik szolgáltatásba a HTTP automatikus átirányítási funkcióját használó RFC2616. |
WS_OPEN_CHANNEL_CALLBACK | Kezeli a WsOpenChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_READ_MESSAGE_END_CALLBACK | Kezeli a WsReadMessageEnd egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_READ_MESSAGE_START_CALLBACK | Kezeli a WsReadMessageEnd egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_RESET_CHANNEL_CALLBACK | Kezeli a WsResetChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_SET_CHANNEL_PROPERTY_CALLBACK | Kezeli a WsSetChannelProperty egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_SHUTDOWN_SESSION_CHANNEL_CALLBACK | Kezeli a WsShutdownSessionChannel egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_WRITE_MESSAGE_END_CALLBACK | Kezeli a WsWriteMessageEnd egyéni csatornakötéssel rendelkező csatorna hívását. |
WS_WRITE_MESSAGE_START_CALLBACK | Kezeli a WsWriteMessageStart egyéni csatornakötéssel rendelkező csatorna hívását. |
Felsorolás | Leírás |
---|---|
WS_CHANNEL_BINDING | A csatornához használandó protokollvermet jelzi. |
WS_CHANNEL_PROPERTY_ID | Azonosító alapján azonosítja az egyes csatornatulajdonságokat. |
WS_CHANNEL_STATE | A csatorna állapota. |
WS_CHANNEL_TYPE | A csatorna alapvető jellemzőit jelzi, például azt, hogy munkamenet-e, és hogy milyen kommunikációs irányok támogatottak. |
WS_ENCODING | A különböző kódolások (üzenetformátumok). |
WS_RECEIVE_OPTION | Megadja, hogy szükség van-e üzenetre egy csatornáról való fogadáskor. |
WS_TRANSFER_MODE | Megadja, hogy az elküldött vagy fogadott üzenetek streamelve vagy pufferelve legyenek-e. |
Funkció | Leírás |
---|---|
WsAbandonMessage | Kihagyja egy csatorna üzenetének fennmaradó részét. |
WsAbortChannel | Megszakítja az összes függőben lévő I/O-t egy adott csatornán, és beállítja a csatorna állapotát WS_CHANNEL_STATE_FAULTED. |
WsCloseChannel | Bezár egy csatornát, ha már nincs rá szükség. |
WsCreateChannel | Létrehoz egy csatornát. |
WsCreateChannelForListener | Létrehoz egy csatornát egy figyelő számára. |
WsFreeChannel | Felszabadítja a csatornához társított memóriaerőforrásokat. |
WsGetChannelProperty | A csatornaparaméter által hivatkozott csatornatulajdonság lekérése. |
WsOpenChannel | Csatorna megnyitása végponthoz. |
WsReadMessageEnd | Beolvassa egy üzenet záró elemeit egy csatornáról. |
WsReadMessageStart | Beolvassa a csatorna következő üzenetének fejléceit, és előkészíti a törzselemek olvasását. |
WsReceiveMessage | Üzenetet fogad, és deszerializálja az üzenet törzsét értékként. |
WsRequestReply | Kérésüzenetet küld, és egy korrelált válaszüzenetet kap. |
WsResetChannel | Egy csatorna alaphelyzetbe állítása, hogy újra felhasználható legyen. |
WsSendMessage | Üzenet küldése egy csatornán szerializálással a törzselem megírásához. |
WsSendReplyMessage | Üzenet küldése, amely válasz egy fogadott üzenetre. |
WsSetChannelProperty | Beállítja egy csatorna tulajdonságát. |
WsSetMessageProperty | Beállítja egy üzenet tulajdonságát. |
WsWriteMessageEnd | Egy üzenet záró elemeit írja a csatornára. |
WsWriteMessageStart | Írja ki egy üzenet fejléceit a csatornára, és előkészíti a törzselemek megírását. |
Fogantyú | Leírás |
---|---|
WS_CHANNEL | Egy csatorna hivatkozására használt átlátszatlan típus. |
Szerkezet | Leírás |
---|---|
WS_CHANNEL_DECODER | Visszahívások készlete, amelyek átalakítják egy fogadott üzenet tartalomtípusát és kódolt bájtjait. |
WS_CHANNEL_ENCODER | Visszahívások készlete, amelyek átalakíthatják az elküldött üzenetek tartalomtípusát és kódolt bájtjait. |
WS_CHANNEL_PROPERTIES | WS_CHANNEL_PROPERTY struktúrák készlete. |
WS_CHANNEL_PROPERTY | Csatornaspecifikus beállítás. |
WS_CUSTOM_CHANNEL_CALLBACKS | Egyéni csatorna megvalósítását alkotó visszahívások készlete. |
WS_CUSTOM_HTTP_PROXY | a csatorna egyéni proxyjának megadására szolgál a WS_CHANNEL_PROPERTY_ID enumerálás WS_CHANNEL_PROPERTY_CUSTOM_HTTP_PROXY értékének használatával. |
WS_HTTP_HEADER_MAPPING | A WS_HTTP_MESSAGE_MAPPINGrészeként leképezett egyéni fejlécet jelöli. |
WS_HTTP_MESSAGE_MAPPING | Információ arról, hogy a HTTP-kérések vagy -válaszok hogyan jelenjenek meg egy üzenetobjektumban. |
WS_HTTP_REDIRECT_CALLBACK_CONTEXT | Megadja a HTTP automatikus átirányítási viselkedésének vezérlésére szolgáló visszahívási függvényt és állapotot. |
WS_MESSAGE_DESCRIPTION | A bemeneti és kimeneti WS_MESSAGE sémája egy adott művelet leírásához. |