elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Como llamar a un servicio web en segundo plano
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como llamar a un servicio web en segundo plano  (Leído 3,676 veces)
franbo

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Como llamar a un servicio web en segundo plano
« en: 20 Enero 2008, 19:13 pm »

Tengo una aplicación de escritorio que utiliza varios servicios web xml. Va muy bien, pero mientras se llama al servicio, el formulario queda bloquedao y hace cosas raras. ¿Se puede llamar a un servicio web en segundo plano?, es decir que el formulario siga funcionando mientras espera la respuesta del servicio web. Se que se puede hacer porque lo he visto en otras aplicaciones.


En línea

k.lopera

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Como llamar a un servicio web en segundo plano
« Respuesta #1 en: 20 Enero 2008, 19:31 pm »

Lo que tu llamas en segundo plano, viene a ser una llamada asincrona. Es decir, que dedicas un hilo secundario a la llamada web, mientras que el hilo principal sigue atendiendo a la interacción del usuario con el formulario.

Para hacer una llamada asincrona a un servicio web, lo tienes muy facil porque el proxy que te crea en tu apliacion de escritorio ya incorpora una interface para llamadas asincronas.

Debes declarar el servicio web con eventos:
  public withevents srv as new ElServicioWeb()

Cuando llames al ElMetodo del servicio, hazlo al metodo asincrono:
  srv.ElMetodoAsync()

Deberas crear un handler para ser notificado de la finalización de la llamada al servicio:
  private sub srv_ElMetodoCompleted(sender as object, e as                         ElMetodoCompletedEventArgs)
       resultado = e.result ' Aqui capturas la respuesta del servicio web
  End Sub


En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Como llamar a un servicio web en segundo plano
« Respuesta #2 en: 20 Enero 2008, 19:33 pm »

Para evitar eso usa Threads, si lo ves muy complicado create un dummy que realice esa llamada, de forma independiente (sé que es cutre, pero funcione igual de bien que un thread y un dummy es más sencillo de programar que un thread)
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
k.lopera

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Como llamar a un servicio web en segundo plano
« Respuesta #3 en: 20 Enero 2008, 19:34 pm »

Si tienes dudas o no lo ves claro, te recomiendo el curso de Formularios y ADO en vídeo de www.videocursos.es, Allí lo explican paso a paso.
En línea

MANULOMM


Desconectado Desconectado

Mensajes: 559


Erepublik.com


Ver Perfil
Re: Como llamar a un servicio web en segundo plano
« Respuesta #4 en: 20 Enero 2008, 20:47 pm »

esto no deberia de ir en .NET por lo menos la respuesta si....
En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines