Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wysyłanie i odbieranie nieprzetworzonych danych binarnych za pomocą programu Windows Communication Foundation (WCF) jest konfigurowane przy użyciu polecenia ByteStreamMessageEncodingBindingElement.
Architektura enkodera komunikatów strumienia bajtowego
Koder komunikatów binarnych używany przez usługę WCF nie ma możliwości przetwarzania, weryfikowania ani identyfikowania bazowych danych binarnych w komunikacie. Pakiet danych jest zakodowany w formacie XML, wysłany, odebrany i zdekodowany. Enkoder przetwarza dane po przekazaniu ich do transportu, a przed wysłaniem komunikatu do kolejki komunikatów. Funkcjonalnie koder binarny opakowuje dane komunikatów w <binary> elementach do wysyłania i usuwania elementów po odebraniu komunikatu.
Korzystanie z kodera komunikatów strumienia bajtów
W poniższym przykładzie przedstawiono kontrakt usługi implementujący koder komunikatów strumienia bajtów.
[OperationContract]
Void Myfunction(Stream stream);
Przykład poniżej pokazuje wywołanie usługi.
proxy.MyFunction(stream);
W przypadku korzystania z usługi, która implementuje infrastrukturę komunikatów (np. router), komunikat jest przetwarzany bez sprawdzania, sprawdzania poprawności lub w inny sposób interakcji z komunikatem, jak pokazano w poniższym przykładzie.
[OperationContract]
void ProcessMessage(Message message) ;
Scenariusze
Koder strumienia bajtów jest przydatny w następujących scenariuszach.
Przesyłanie obrazu JPEG między komputerami przy użyciu programu WCF. W tym scenariuszu obraz zostanie dostarczony przez transport z zewnętrznego źródła, a wysyłane dane będą nieprzetworzonymi bajtami tworzącym obraz. Usługa otrzyma dane binarne i wyświetli obraz.
Odczytywanie informacji z kolejki komunikatów i ich przetwarzanie. Komunikat zostanie odczytany z menedżera kolejki komunikatów i przekazany przez kanał kolejki komunikatów do obsłużenia. Kanał kolejki wiadomości będzie działać jako menedżer kolejek w stosie kanału WCF.
W przypadku wysyłania komunikatu za pośrednictwem kanału kolejki komunikatów nadawca nie ma kontroli nad bajtami odebranych od menedżera kolejki. Jeśli proces odbierania nie ma możliwości odczytywania nieprzetworzonych bajtów, komunikat zostanie odebrany jako nieprawidłowo sformatowany i nie zostanie przetworzony; Zakłada się, że proces odbierania będzie miał możliwość tłumaczenia odebranych bajtów z powrotem do formatu użytecznego.