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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  MegaApiClient error de progress
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: MegaApiClient error de progress  (Leído 2,525 veces)
rigorvzla

Desconectado Desconectado

Mensajes: 221


Ver Perfil
MegaApiClient error de progress
« en: 22 Julio 2018, 15:29 pm »

hola a todos, espero puedan ayudarme en este problema.

estoy usando la api MegaApiCLient
y aunque todo va casi bien en este codigo , no veo lo que hago mal
Código:
   static void descargaMegaFile()
        {           
                var client = new MegaApiClient();
                client.LoginAnonymous();

                Uri fileLink = new Uri("https://mega.nz/#!4YlxhLpD!i0RpF63RTLkjvHvHoeqf3xm8yXQv0zDzp954XtouMUE");
                INodeInfo node = client.GetNodeFromLink(fileLink);

                Console.WriteLine($"Downloading {node.Name}");
                Progress<double> ze = new Progress<double>(p => Console.WriteLine($"Progress updated: {p:P0}"));
                client.DownloadFileAsync(fileLink, node.Name, ze);

                client.Logout();
            Console.ReadKey();
        }

en teoria esta bien pero al iniciar la descarga da un error.

en cambio este esta perfecto mas no puedo capturar el progress de la descarga

Código:
   static void descargaMegaFile()
        {           
                var client = new MegaApiClient();
                client.LoginAnonymous();

                Uri fileLink = new Uri("https://mega.nz/#!4YlxhLpD!i0RpF63RTLkjvHvHoeqf3xm8yXQv0zDzp954XtouMUE");
                INodeInfo node = client.GetNodeFromLink(fileLink);

                Console.WriteLine($"Downloading {node.Name}");
               
                client.DownloadFile(fileLink, node.Name);

                client.Logout();
            Console.ReadKey();
        }

si alguien tiene conocimiento espero pueda ayudarme


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: MegaApiClient error de progress
« Respuesta #1 en: 29 Julio 2018, 12:36 pm »

Nunca he utilizado esa librería, ni la pienso utilizar para comprobar nada, pero solamente con apreciar la nomenclatura de los miembros que has compartido en esos dos snippets te puedo decir que el primero en teoría es asincronico, y el segundo es sincrónico, esto es la respuesta a por qué en el segundo código (el sincrónico) no puedes capturar el porcentaje de la descarga puesto que el método client.DownloadFile() lo más probable es que sea una llamada bloqueante; esto también podría explicar lo que te sucede en el primer código (el asincrónico), puesto que al parecer cuando llamas al método client.Logout() te estás desconectando antes de finalizar la descarga ya que el método client.DownloadFileAsync() en teoría es asincrónico...

Pero la verdad es que sin que des ninguna información sobre dicho error entonces nadie va a saber que decirte con respecto el problema del código asincrónico, no somos adivinos...

De todas formas mi sugerencia es que te documentes sobre la utilización de los keywords async y await al aplicar programación asincrónica, prueba a ver si te funciona así:

Código
  1. static async void descargaMegaFile() {          
  2.    var client = new MegaApiClient();
  3.    client.LoginAnonymous();
  4.  
  5.    Uri fileLink = new Uri("https://mega.nz/#!4YlxhLpD!i0RpF63RTLkjvHvHoeqf3xm8yXQv0zDzp954XtouMUE");
  6.    INodeInfo node = client.GetNodeFromLink(fileLink);
  7.  
  8.    Console.WriteLine($"Downloading {node.Name}");
  9.    Progress<double> ze = new Progress<double>(p => Console.WriteLine($"Progress updated: {p:P0}"));
  10.    var result = await client.DownloadFileAsync(fileLink, node.Name, ze);
  11.  
  12.    client.Logout();
  13.    Console.ReadKey();
  14. }

Saludos.


« Última modificación: 29 Julio 2018, 12:45 pm por Eleкtro » En línea



rigorvzla

Desconectado Desconectado

Mensajes: 221


Ver Perfil
Re: MegaApiClient error de progress
« Respuesta #2 en: 29 Julio 2018, 15:16 pm »

en efecto, para no saber , acertaste perfectamente muuchas gracias.
de ahi parti y lo solucione, gracias nuevamente
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Progress Bar
Programación Visual Basic
juanjoxx 2 2,161 Último mensaje 1 Abril 2006, 23:35 pm
por [VolkS]
Progress Bar ........... No me entero.
Programación Visual Basic
el_trocha 1 1,717 Último mensaje 17 Septiembre 2007, 19:53 pm
por LeandroA
error aireplay (open System)wi_write(): operation now in progress
Wireless en Windows
Red_Bull_18 1 4,142 Último mensaje 18 Noviembre 2010, 23:35 pm
por Red_Bull_18
Progress Bar o Gif animado
Java
Alon3 2 4,462 Último mensaje 12 Noviembre 2011, 07:29 am
por 1mpuls0
progress bar
Desarrollo Web
fdap91 2 1,989 Último mensaje 23 Octubre 2014, 17:55 pm
por fdap91
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines