Como hacer un WCF Service con Streaming

junio 8, 2010 13:11 by eugenioestrada

Haciendo pruebas esta mañana he mirado como hacer un servicio en WCF por Streaming y es bastante sencillo.

Lo que debemos hacer es configurar nuestro servicio modificando su binding en el Web.Config

<bindings>
  <basicHttpBinding>
    <binding name="HttpStreaming" maxReceivedMessageSize="67108864"
              transferMode="Streamed"/>
  </basicHttpBinding>
</bindings>

Una vez que lo tengamos ya podemos hacer que nuestras operaciones devuelvan o reciban un objeto de tipo Stream. Por un lado modificamos el contrato de nuestro servicio:

[ServiceContract]
public interface IService1
{
    [OperationContract]
    Stream GetData();
}

Y por otro lado el método.

public class Service1 : IService1
{
    public Stream GetData()
    {
        StringBuilder sb = new StringBuilder();

        for (long i = 0; i < 10; i++)
        {
            sb.AppendLine("Prueba" + i.ToString());
        }
 
        var stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(sb.ToString()));

        return stream;
    }
}

Con esto en el cliente también recibiremos un Stream y con un StreamReader podríamos leer su contenido.

Espero sea útil.


Sea el primero en calificar este post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Share