¿Podemos clonar un Stream?¿Es posible clonar una transmisión .NET?
Respuesta
No, las secuencias usualmente se refieren a recursos locales de algún tipo (un socket, un manejador de archivo, etc.) y por eso no pueden ser clonados o ser serializados. Además, muchas transmisiones son solo para reenvío y no son compatibles con la búsqueda, por lo que es posible que ni siquiera pueda volver a leerlas desde una transmisión.
Lo que puede hacer desde una secuencia de lectura legible es copiarlo en un MemoryStream que se puede mover como una matriz de bytes.
Véase el siguiente post para un fragmento de código que muestra cómo hacer esto: How do I copy the contents of one stream to another?
public static void CopyStream(Stream input, Stream output)
{
byte[] buffer = new byte[32768];
while (true)
{
int read = input.Read (buffer, 0, buffer.Length);
if (read <= 0)
return;
output.Write (buffer, 0, read);
}
}
No, no se puede clonar una secuencia genérica.
No. La clonación no es una operación generalmente admitida en la clase Stream
. Para ser así, debería abarcar todas las implementaciones posibles de la clase Stream
.
Esto puede ser factible para elementos como un FileStream
, pero considere lo que esto significaría para un NetworkStream
. La clonación generalmente tiene el concepto de crear objetos completamente separados que son idénticos en el punto de creación. En general, esto no se puede hacer en elementos como conexiones TCP que generalmente están envueltos en un NetworkStream
en algún nivel.
Es cierto, pero ya es como algunas implementaciones de Stream no admiten algunas funcionalidades lanzando NotSupportedException .. igual podría haberse hecho si se trata de clonación. – rafek
- 1. ¿Cómo puedo clonar una solución .NET?
- 2. ¿Es posible clonar objetos de elementos html en JavaScript/JQuery?
- 3. ¿Clonar un registro en rieles, es posible clonar asociaciones y copiar en profundidad?
- 4. ¿Es posible la transmisión a través de TCP?
- 5. C# clonar una pila
- 6. ¿Es posible clonar la configuración de git desde una ubicación remota?
- 7. ¿Cómo puedo dividir (copiar) una transmisión en .NET?
- 8. Usando tinyurl.com en una aplicación .Net ... ¿es posible?
- 9. C# /. NET: ¿`typeof (variable)` es una función de idioma posible?
- 10. ¿Cuál es la longitud máxima posible de una cadena .NET?
- 11. ¿Es POSTing un diccionario para una acción .NET MVC posible?
- 12. ¿Es posible combinar una DLL en un EXE .NET?
- 13. ¿Es posible declarar una constante dinámica en VB .NET?
- 14. ¿Es posible el registro pasivo en .NET?
- 15. ¿Es posible descompilar toda la aplicación .NET?
- 16. Target .net 4.5 pero implementar en .net 4.0 ¿es posible?
- 17. git clonar en una rama
- 18. ¿Es posible verificar si una transmisión se envió en modo adhesivo? ¿Se puede abortar/eliminar?
- 19. Cómo clonar una Imagen Buffered
- 20. Clonar solo una rama
- 21. ¿Es posible clonar una instancia de IEnumerable <T>, guardando una copia del estado de iteración?
- 22. ¿Cómo puedo clonar una vista?
- 23. ¿Es posible clonar elementos HTML en jQuery con ID y nombre nuevos?
- 24. ¿Es posible clonar solo ciertos commit de un git repo con profundidad 1?
- 25. iOS iPhone ¿es posible clonar UIView y hacer que se dibuje en dos UIViews?
- 26. .NET Overload WebMethods - ¿Posible?
- 27. es posible leer metadatos usando transmisión HTTP en vivo en el SDK de iPhone
- 28. En Protobuf-net, ¿es posible serializar clases no decoradas?
- 29. ¿es posible ejecutar código javascript en .net framework?
- 30. Diseño multiproceso de Chrome/IE8, ¿es posible en .NET?
Stream tiene un método CopyTo desde .NET 4 – Alex
¡Es bueno saber que se ha agregado, gracias! En ese momento, no fue así. – Josh