me encontré con este mismo problema al utilizar los servicios de WCF. Necesitaba obtener el contenido de un mensaje POST, y estaba usando un argumento Stream en mi método para obtener el contenido del cuerpo del mensaje. Una vez que obtuve la transmisión, quería leer sus contenidos de una sola vez, y necesitaba saber qué tamaño de matriz de bytes necesitaría. Entonces, en la asignación de la matriz, llamaría a System.IO.Stream.Length y obtendría la excepción mencionada por el OP. ¿Es la razón por la que necesita saber la longitud de la transmisión para que pueda leer el contenido de la secuencia completa? Puede leer todo el contenido de la secuencia en una cadena utilizando System.IO.StreamReader. Si aún necesita saber el tamaño de su transmisión, puede obtener la longitud de la cadena resultante. Aquí está el código de cómo resolví este problema:
[OperationContract]
[WebInvoke(UriTemplate = "authorization")]
public Stream authorization(Stream body)
{
// Obtain the token from the body
StreamReader bodyReader = new StreamReader(body);
string bodyString= bodyReader.ReadToEnd();
int length=bodyString.Length; // (If you still need this.)
// Do whatever you want to do with the body contents here.
}
La corriente es abstracto, ¿cuál es la clase Stream derivado que está utilizando? Además, publique el código que está causando el problema si es posible. –