Peticion Asincrona.

07/03/2006 - 20:01 por daplago | Informe spam
Buenas tardes a todos,
Estoy evaluando la posibilidad de cambiar tres ejecutables que tengo en VB6
por un solo proceso en VB.NET con peticiones asíncronas.
La cosa es que en su momento tenia un ejecutable en VB6 y su ejecución eran
muy lentas, por ello, para agilizar el proceso dividí el proyecto en tres,
ganando mucho tiempo, pero cargando con las consecuencias de dicha decisión.
Ahora estoy pensando en generar un único proyecto en Visual Basic.NET con
llamadas asíncronas.
¿Consideráis viable la alternativa? ¿Es fácil la implementación de dicha
funcionalidad? ¿Es necesario trabajar con hilos?

Espero vuestra ayuda y muchas gracias a todos.

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
07/03/2006 - 22:41 | Informe spam
"daplago" wrote in message
news:
Ahora estoy pensando en generar un único proyecto en Visual Basic.NET con
llamadas asíncronas.
¿Consideráis viable la alternativa? ¿Es fácil la implementación de dicha
funcionalidad? ¿Es necesario trabajar con hilos?



Es bastante sencillo hacer llamadas asíncronas en .Net. Se puede hacer
manejando hilos, si se desea, pero hay una alternativa más simple, que
consiste en el denominado "patrón de programación asíncrona". Muchas
funciones del framework, como por ejemplo las lecturas/escrituras de
streams, las peticiones http, las llamadas a servicios web, y (en vs2005)
las llamadas a base de datos, tienen dos formas de realizarse: una es la
"estándard", por ejemplo, Read(...) para leer de un Stream, y otra es la
misma pero anteponiéndole Begin (p.ej., BeginRead(...)). La forma que
empieza por Begin lanza automáticamente un hilo separado tomándolo del pool
de hilos del sistema, y por tanto funciona de forma asíncrona con muy poco
trabajo de programación. Para recuperar los resultados, se usa la forma de
la función precedida de End (p.ej., EndRead(...)).
Si tienes que llamar a alguna función que por si misma no contemple el
patrón de programación asincrona, se lo puedes añadir fácilmente invocándola
a través de un delegado. Los delegados tienen los métodos
BeginInvoke/EndInvoke, que permiten aplicar por su mediación este mismo
patrón asíncrono.
Respuesta Responder a este mensaje
#2 daplago
08/03/2006 - 10:41 | Informe spam
Estupendo, esto es lo que necesito, lo único es que busco información sobre
programación de Delegados en VB.NET para poder implementar la solución y solo
encuentro soluciones en C# lo cual no me cobre al 100%… ¿Se puede implementar
los delegados con VB.net?¿donde puedo encontrar un ejemplo de
implantación?...

Un Saludo y muchas gracias.


"Alberto Poblacion" escribió:

"daplago" wrote in message
news:
> Ahora estoy pensando en generar un único proyecto en Visual Basic.NET con
> llamadas asíncronas.
> ¿Consideráis viable la alternativa? ¿Es fácil la implementación de dicha
> funcionalidad? ¿Es necesario trabajar con hilos?

Es bastante sencillo hacer llamadas asíncronas en .Net. Se puede hacer
manejando hilos, si se desea, pero hay una alternativa más simple, que
consiste en el denominado "patrón de programación asíncrona". Muchas
funciones del framework, como por ejemplo las lecturas/escrituras de
streams, las peticiones http, las llamadas a servicios web, y (en vs2005)
las llamadas a base de datos, tienen dos formas de realizarse: una es la
"estándard", por ejemplo, Read(...) para leer de un Stream, y otra es la
misma pero anteponiéndole Begin (p.ej., BeginRead(...)). La forma que
empieza por Begin lanza automáticamente un hilo separado tomándolo del pool
de hilos del sistema, y por tanto funciona de forma asíncrona con muy poco
trabajo de programación. Para recuperar los resultados, se usa la forma de
la función precedida de End (p.ej., EndRead(...)).
Si tienes que llamar a alguna función que por si misma no contemple el
patrón de programación asincrona, se lo puedes añadir fácilmente invocándola
a través de un delegado. Los delegados tienen los métodos
BeginInvoke/EndInvoke, que permiten aplicar por su mediación este mismo
patrón asíncrono.




Respuesta Responder a este mensaje
#3 daplago
08/03/2006 - 10:42 | Informe spam
Estupendo, esto es lo que necesito, lo único es que busco información sobre
programación de Delegados en VB.NET para poder implementar la solución y solo
encuentro soluciones en C# lo cual no me cobre al 100%… ¿Se puede implementar
los delegados con VB.net?¿donde puedo encontrar un ejemplo de
implantación?...

Un Saludo y muchas gracias.

"Alberto Poblacion" escribió:

"daplago" wrote in message
news:
> Ahora estoy pensando en generar un único proyecto en Visual Basic.NET con
> llamadas asíncronas.
> ¿Consideráis viable la alternativa? ¿Es fácil la implementación de dicha
> funcionalidad? ¿Es necesario trabajar con hilos?

Es bastante sencillo hacer llamadas asíncronas en .Net. Se puede hacer
manejando hilos, si se desea, pero hay una alternativa más simple, que
consiste en el denominado "patrón de programación asíncrona". Muchas
funciones del framework, como por ejemplo las lecturas/escrituras de
streams, las peticiones http, las llamadas a servicios web, y (en vs2005)
las llamadas a base de datos, tienen dos formas de realizarse: una es la
"estándard", por ejemplo, Read(...) para leer de un Stream, y otra es la
misma pero anteponiéndole Begin (p.ej., BeginRead(...)). La forma que
empieza por Begin lanza automáticamente un hilo separado tomándolo del pool
de hilos del sistema, y por tanto funciona de forma asíncrona con muy poco
trabajo de programación. Para recuperar los resultados, se usa la forma de
la función precedida de End (p.ej., EndRead(...)).
Si tienes que llamar a alguna función que por si misma no contemple el
patrón de programación asincrona, se lo puedes añadir fácilmente invocándola
a través de un delegado. Los delegados tienen los métodos
BeginInvoke/EndInvoke, que permiten aplicar por su mediación este mismo
patrón asíncrono.




Respuesta Responder a este mensaje
#4 Alberto Poblacion
08/03/2006 - 13:48 | Informe spam
"daplago" wrote in message
news:

Estupendo, esto es lo que necesito, lo único es que busco información
sobre
programación de Delegados en VB.NET para poder implementar la solución y
solo
encuentro soluciones en C# lo cual no me cobre al 100%. ¿Se puede
implementar
los delegados con VB.net?¿donde puedo encontrar un ejemplo de
implantación?...



Sí, los delegados en VB.NET funcionan exactamente igual que en C#, aunque
la sintaxis es ligeramente diferente.
En este artículo de MSDN viene la sintaxis para declarar un delegado en
VB:

http://msdn.microsoft.com/library/d...legate.asp

Y en el siguiente artículo tienes ejemplos de programación asíncrona en
VB además de C#:

http://msdn.microsoft.com/library/d...erview.asp

Por desgracia, el texto está en inglés en ambos artículos.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida