Estoy intentando enviar una cadena a través de una canalización con nombre utilizando StreamWriter, pero la clase StreamWriter solo ofrece operaciones síncronas. Puedo usar el método BeginWrite de la clase NamedPipeServerStream, pero me pregunto por qué no hay clases de escritor que permitan operaciones asincrónicas. ¿Me estoy perdiendo algo obvio?Usar canalizaciones con nombre de manera asíncrona con StreamWriter
Respuesta
Sería mucho más complicado que para las transmisiones sin formato. Para las transmisiones sin formato, cualquier cantidad de datos puede venir de manera asincrónica y el sistema simplemente le pasa el búfer. El lector requiere una codificación de caracteres que puede convertir varios bytes de datos sin formato en un único carácter Unicode. No es que esto sea imposible, las bibliotecas de frameworks simplemente no lo llevan tan lejos, así que tendrás que hacer este trabajo tú mismo.
(Dependiendo de sus necesidades, creando otro hilo y la realización de las operaciones sincrónicamente en él podría hacer más fácil para escribir su programa. Tenga en cuenta que la escalabilidad sería normalmente superior cuando se utiliza Comenzar/asíncrono Fin.)
- 1. Canalizaciones con nombre: asimetría
- 2. En Windows, ¿Puedo usar Canalizaciones con nombre como archivos?
- 3. SQL Azure Database Canalizaciones con nombre Error
- 4. Usar canalizaciones con nombre con bash - Problema con pérdida de datos
- 5. Ejemplo de uso de canalizaciones con nombre en Linux Bash
- 6. Canalizaciones con nombre aisladas en sesiones de Terminal Server
- 7. Canalizaciones con nombre de Win32 y clientes remotos
- 8. C++: implementando canalizaciones con nombre utilizando la API de Win32
- 9. ¿Es posible descubrir canalizaciones con nombre en Windows?
- 10. C# ¿puedo crear un nombre de archivo dinámico con streamwriter?
- 11. Ejemplo de canalizaciones con nombre IPC con tiempo de espera de lectura/escritura
- 12. La mejor manera de hacer una programación asíncrona con Asp.Net
- 13. ¿Cómo puedo obtener una lista de todas las canalizaciones con nombre abierto en Windows?
- 14. Tiempo de espera de lectura de servidor de canalizaciones con nombre
- 15. Escribir en MemoryStream con StreamWriter devuelve vacío
- 16. ¿Cómo se implementa un oyente de tuberías con nombre reutilizable que se ejecuta de forma asíncrona?
- 17. Cómo usar getaddrinfo_a para hacer una resolución asíncrona con glibc
- 18. Permisos mínimos del sistema operativo necesarios para crear canalizaciones con nombre (WCF)
- 19. Lectura asíncrona de stdin con Qt
- 20. ¿Cómo puedo llamar a un método WCF desde C++ utilizando canalizaciones con nombre?
- 21. Implementando un sondeo largo de manera asíncrona
- 22. HQL: Usar Boolean en consultas con nombre
- 23. Compatibilidad con tuberías con nombre de Windows en Linux
- 24. Usar rutas con nombre con parámetros y form_tag
- 25. Conexión asíncrona y desconexión con epoll (Linux)
- 26. Canalizaciones con nombre, cómo saber el número exacto de bytes para leer en el lado de lectura. C++, Windows
- 27. Prevenir el conflicto de tuberías con nombre
- 28. ¿Cómo usar el estilo de nombre bdd con Resharper 4.5?
- 29. FileStream vs/differences StreamWriter?
- 30. Descarga asíncrona de archivos con barra de progreso
I Sé que http://stackoverflow.com/questions/3015748/how-to-do-a-non-waiting-write-on-a-named-pipe-c question es muy similar, pero me pregunto por qué las clases .NET Writer no ofrecen esta funcionalidad ¿Me estoy perdiendo un punto obvio? – Lenik