Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El envío y recepción de datos binarios sin procesar con Windows Communication Foundation (WCF) se configura mediante ByteStreamMessageEncodingBindingElement.
Arquitectura del codificador de mensajes de secuencia de bytes
El codificador de mensajes binarios usado por WCF no tiene ninguna facilidad para procesar, validar ni identificar los datos binarios subyacentes en el mensaje. El paquete de datos se codifica en XML, enviado, recibido y descodificado. El codificador procesa los datos después de ser pasado al transporte y antes de que el mensaje sea enviado a la cola de mensajes. Funcionalmente, el codificador binario encapsula los datos del mensaje en <binary>
elementos para enviar y quitar los elementos después de recibir el mensaje.
Uso del codificador de mensajes de secuencia de bytes
En el ejemplo siguiente se muestra un contrato de servicio que implementa el codificador de mensajes de secuencia de bytes.
[OperationContract]
Void Myfunction(Stream stream);
En el ejemplo siguiente se muestra el servicio que se invoca.
proxy.MyFunction(stream);
En el caso de usar un servicio que implementa una infraestructura de mensajes (como un enrutador), el mensaje se procesa sin inspeccionar, validar o interactuar con el mensaje, como se muestra en el ejemplo siguiente.
[OperationContract]
void ProcessMessage(Message message) ;
Escenarios
El codificador de secuencias de bytes es útil en los escenarios siguientes.
Transferencia de una imagen JPEG entre equipos mediante WCF. En este escenario, la imagen llegará a través del transporte desde un origen externo y los datos enviados serán los bytes sin procesar que componen la imagen. Un servicio recibirá los datos binarios y mostrará la imagen.
Leer información fuera de una cola de mensajes y procesarla. El mensaje se leerá de un administrador de colas de mensajes y se pasará al canal de cola de mensajes para tratarlo. El canal de cola de mensajes actuará como administrador de colas en la pila del canal de WCF.
En el caso de enviar un mensaje a través de un canal de cola de mensajes, el remitente no tiene control sobre los bytes recibidos del administrador de colas. Si el proceso de recepción no tiene capacidad para leer bytes sin procesar, el mensaje se recibirá con el formato incorrecto y no se procesará; se supone que el proceso de recepción tendrá la capacidad de traducir los bytes recibidos de nuevo a un formato utilizable.