No sé demasiado sobre las transmisiones en C#. Ahora mismo tengo un flujo que pongo en un lector de flujo y lo leo. Más tarde, en algún otro método que necesito para leer la secuencia (el mismo objeto de secuencia), pero esta vez me sale este error¿Debo reiniciar una secuencia (C#) al inicio?
System.ArgumentException was unhandled by user code
Message="Stream was not readable."
Source="mscorlib"
StackTrace:
at System.IO.StreamReader..ctor(Stream stream, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize)
at System.IO.StreamReader..ctor(Stream stream)
at ExtractTitle(Stream file) in :line 33
at GrabWebPage(String webPath) in :line 62
at lambda_method(ExecutionScope , ControllerBase , Object[])
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
InnerException:
así que estoy pensando que tal vez mediante la lectura de la corriente que va al final. Luego, cuando intento leerlo nuevamente, está al final de la transmisión y es por eso que recibo este error.
Entonces, ¿alguien puede arrojar algo de luz sobre esto?
Gracias
Esto se ve como un método mejor que sólo cerrarla, y se parece a la respuesta correcta. +1 –
¿StreamReader ha buscado? No puedo encontrarlo – chobo2
No; la corriente lo hace. Cambie 'sr.Seek' a' stream.Seek' en el código anterior. –