lectura asincrona de un fichero

18/04/2005 - 12:10 por lorenzo | Informe spam
hola a todos,

He estado estudiando un poco a cerca de la lectura
asincrona a través del metodo stream.BeginRead(...).

Tome como base el ejemplo que viene en un libro donde se
crea un stream para leer un fichero. La lectura de ese
fichero se hace con la funcion
inputStream.BeginRead(buffer,0,buffer.Length,
myCallBack,null);

donde mycallback tiene asociada un metodo OnReadComplete
() que se ejecuta cuanlo la lectura asincrona ha
terminado.Ese metodo mostraria en pantalla el contenido
del fichero

En el cuerpo de programa se ejecuta primero la funcion
anterior (lectura asincrona) y luego se ejecuta un
contador que escribe numeros en la pantalla.

Segun el libro la salida del programa tendria que ser:
1
2
3
...
100
contenido del fichero
101
102

Es decir, mientras se realiza la lectura, el programa
sigue ejecutandose y cuando se finaliza la lectura se
ejecuta el metodo OnReadComplete() mostrando el contenido
del fichero. Luego seguiria la ejecución del programa
hasta su fin.

Pues bien, el problema es que cuando ejecuto ese programa
en mi ordenador siempre me sale la siguiente salida:

contenido del fichero
1
2
3
...

Es decir que realmente no hay una lectura asincrona y
hasta que no se finaliza la lectura el progama principal
no se ejecuta

¿porque podria ser esto?

Muchas gracias de antemano.
 

Leer las respuestas

#1 Misael Monterroca
18/04/2005 - 22:57 | Informe spam
Manda el código que estas utilizando, si no, dificilmente podemos ver en
donde esta fallando :)

Mientras, pruena implementando el ejemplo que esta en MSDN
http://msdn.microsoft.com/library/d...FileIO.asp


Saludos!
Misael Monterroca
http://www.neo-mx.com/blog

Preguntas similares