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

 

 


Tema destacado: Estamos en la red social de Mastodon


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22
101  Programación / .NET (C#, VB.NET, ASP) / Re: C# - Crear un servidor SMTP en: 19 Agosto 2018, 01:51 am
Hola amigo espero no sea tarde, y pueda esto ayudarte
https://juanespinozaweb.wordpress.com/envio-de-correos-en-c/
102  Programación / .NET (C#, VB.NET, ASP) / Re: CancellationToken en: 4 Agosto 2018, 00:54 am
GRAAAAAACIAAAAAAAAAS!!!!! lastima no  puedo escribir un grito de cuatro vientos de agradecimiento!!!! jaja muchas muchisimas gracias, habiahecho por cuenta propia la mitad del trabajo! jajajaja y por eso no servia, elektro muchas gracias  ;-)

solo creaba esta parte
Código:
CancellationTokenSource source = new CancellationTokenSource();
mas faltaba el token como tal... Oops!

pff dormire como un bebe hoy jajajajaja , gracias nuevamente .
103  Programación / .NET (C#, VB.NET, ASP) / CancellationToken en: 3 Agosto 2018, 00:42 am
Buenas tardes , hoy tengo un problema bastante interesante que a mas de uno le gustara saber su solucion (incluyendome), el tema lo inicie con el amigo elektro mas es posible que alguien mas este pasando por lo mismo que yo y quiera saber solucion.

La pregunta inicial fue la siguiente:
Citar
Eh usado el cancellinToken para cancelar una Task, y resulta bien (ya que antes debia cerrar y abrir la aplicacion para cancelar tal accion) el problema esta en que al llamar de nuevo la Task, NO ocurre nada, me gustaria saber como puedo "reiniciar" o una vez cancelada la Task pueda reutilizarla y no quede inutil, ya que para que funcione de nuevo debo cerrar y abrir la aplicacion nuevamente...

La respuesta dada por Elektro fue la siguiente:
Citar
Hola. No se a que te refieres por "cancellinToken" pero no existe ningún miembro que se llame así en .NET Framework y que esté relacionado con la clase Task, por ende intuyo que probablemente en realidad quisiste decir la clase "CancellationToken" o bien ese "cancellinToken" al que te referiste sea un miembro que está definido en el código fuente de la librería de terceros que estés utilizando...

Respondiendo a tu duda principal, la clase Task representa una "tarea" en segundo plano (un thread) que transiciona de un estado inicial de creación a un estado final de terminación, esto significa que la tarea solo se puede iniciar una vez, y cualquier intento de volver a iniciar una tarea que no esté en el estado inicial de creación dará como resultado una excepción.

Lo que debes hacer, es crear una nueva instancia de ese objeto Task cuando se haya finalizado, y entonces ya puedes volver a iniciar. Te muestro un ejemplo:

Código:
    Action action = new Action(() => Console.WriteLine("Hello Asynchronic World!"));
     
    Task t = new Task(action);
    t.Start();
    t.Wait();
    t.Dispose();
     
    t = new Task(action);
    t.Start();
    t.Wait();
    t.Dispose();
Citar
PD: en la mayoría de casos no debes preocuparte por llamar al método Task.Dispose(), las razones se explican aquí (en la sección Remarks):

    https://msdn.microsoft.com/en-us/library/dd270681(v=vs.110).aspx

mostre la linea de codigo al cual quiero aplicar el token y en efecto como dijo elktro puedo llamarlo cuantas veces quiera mas no funciona una vez cancelado por el token la tarea.

Citar
En el código que has mostrado no hay necesidad de "reiniciar" el método 'videoDescarga', puedes llamar a dicho método cuantas veces quieras de forma consecutiva, el problema que creo debes estar teniendo es con el token de cancelación, ¿verdad?. Para simplificarlo, imagina que un token de cancelación representa estados... más o menos como una Task, el estado cancelado y el de no cancelado, y una vez cancelado no puedes volver a cancelarlo, no puedes volver a usarlo, así que debes asegurarte de renovar el token de cancelación cuando este se haya cancelado, asegúrate de hacer eso, si el token es cancelado entonces debes crear una nueva instancia de la clase CancellationTokenSource y de la clase CancellationToken para pasarle el nuevo token al método 'videoDescarga'.

Continuando con el tema, de mi problema a pesar que me han dicho que debo crear  un New token no se como hacerlo al cancelarlo, como podria hacerlo ?

el metodo de cancelacion lo tengo de la siguiente manera:
Código:
public static void cerrarVideo()
                {
                    cancellationTokenSource.Cancel();
                }

Espero puedan ayudarme con esto, ya que me tiene dando vueltas la cabeza desde hace ya un rato. Gracias !
104  Programación / .NET (C#, VB.NET, ASP) / Re: MegaApiClient error de progress en: 29 Julio 2018, 15:16 pm
en efecto, para no saber , acertaste perfectamente muuchas gracias.
de ahi parti y lo solucione, gracias nuevamente
105  Programación / .NET (C#, VB.NET, ASP) / 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
106  Programación / .NET (C#, VB.NET, ASP) / Api Telegram.Bot en: 17 Julio 2018, 04:09 am
Buenas noches a todos, espero esten bien , hoy tengo un problema y me gustaria saber como poder resolverlo, esta api la utilizo para enviar archivos del pc a el telegram, el problema radica , que cuando envio el archivo llega sin nombre ni extension, solo dice "Document" y esto no eh podido cambiarlo a pesar que eh revisado "Todo".

Código:
               Telegram.Bot.Types.InputFiles.InputOnlineFile f = new Telegram.Bot.Types.InputFiles.InputOnlineFile(System.IO.File.Open(s[i], FileMode.Open));

 BibliotecaMetodos.Bot.SendDocumentAsync(idTelegram, f.Content, "Guardar como: " + "Nombre Archivo");                  

Explico un poco, el f.Content es la variable (no se si es el termino correcto porfavor corrijanme) que indica cual es el archivo solo que dice que el "protected set - esta protegido" y no encuentro como cambiar tal cosa por mas que he buscado.

Si alguien sabe como dar el nombre por defecto del archivo en este caso el documento enviado se lo agradeceria mucho.

el "Guardar como" solo da un mensaje adjunto al archivo mas nada.

https://github.com/TelegramBots/Telegram.Bot Anexo el api usado la url

PD. eh llegado a pensar que la api no permite tal modificacion siendo esa su limitante

Anexo esto, donde en teroia esta bien mas no hace lo que debe
Código:
string fileName = Path.GetFileName(s[i]);
                Telegram.Bot.Types.InputFiles.InputOnlineFile f = new Telegram.Bot.Types.InputFiles.InputOnlineFile(System.IO.File.Open(s[i], FileMode.Open), fileName);
               
                if (Path.GetExtension(s[i]) == ".doc" || Path.GetExtension(s[i]) == ".docx" || Path.GetExtension(s[i]) == ".rtf" || Path.GetExtension(s[i]) == ".pdf")
                {
                    BibliotecaMetodos.Bot.SendDocumentAsync(Settings.Default.idTelegram, f.Content, "Guardar como: " + Path.GetFileName(s[i]));
                }
107  Programación / .NET (C#, VB.NET, ASP) / OpenHardwareMonitor en: 29 Junio 2018, 06:15 am
Buenas gente, justo uso esa libreria (del titulo) para obtener la temperatura del procesador y la tarjeta grafica, pero me di cuenta que es posible obtener datos como cantidad de memoria usada total y libre de la ram y tambien los mismos datos del disco duro, mas no se como lograr esos ultimos, podrian ayudarme con ello? anexo el codigo con el que consigo los datos de temperatura.

Código:
public static void GetSystemInfo()
                {
                    TempProcesador updateVisitor = new TempProcesador();
                    Computer computer = new Computer();
                    computer.Open();
                    computer.CPUEnabled = true;
                    computer.GPUEnabled = true;
                    computer.Accept(updateVisitor);
                    for (int i = 0; i < computer.Hardware.Length; i++)
                    {
                        if (computer.Hardware[i].HardwareType == HardwareType.CPU)
                        {
                            for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                            {
                                if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                                    
                                    BibliotecaMetodos.de.SendTextMessageAsync(Settings.Default.ed, $@"Temperatura de procesador
{computer.Hardware[i].Sensors[j].Name}: {computer.Hardware[i].Sensors[j].Value.ToString()}");
                            }
                        }
                        if (computer.Hardware[i].HardwareType == HardwareType.GpuNvidia || computer.Hardware[i].HardwareType == HardwareType.GpuAti)
                        {
                            for (int j = 0; j < computer.Hardware[i].Sensors.Length; j++)
                            {
                                if (computer.Hardware[i].Sensors[j].SensorType == SensorType.Temperature)
                                {
                                    BibliotecaMetodos.de.SendTextMessageAsync(Settings.Default.ed, $@"Temperatura GPU
{computer.Hardware[i].Sensors[j].Name}: {computer.Hardware[i].Sensors[j].Value.ToString()} ºC");
                                }
                            }
                        }
                    }
                    computer.Close();
                }
            }

es totalmente funcional, si alguien ya ha usado esa libreria seria fantastico que me ayudara con el codigo para la obtencion de esos datos.
108  Programación / .NET (C#, VB.NET, ASP) / Re: Envio de archivo sin nombre Telegram C# en: 27 Junio 2018, 04:29 am
aqui esta el enlace de donde saque eso
https://github.com/TelegramBots/telegram.bot

justo leia respecto a eso viendo que no consegui donde modificar el default del componente "Content" de todos modos seguire leyendo a ver que consigo
109  Programación / .NET (C#, VB.NET, ASP) / Envio de archivo sin nombre Telegram C# en: 27 Junio 2018, 03:36 am
Buenas noches amigos, aqui les traigo un problema que no le encuentro solucion aun, tengo un codigo para poder enviar archivos de diferentes formatos a una cuenta de telegram, todo esta bien , el problema es que llegan los archivos PERO sin nombre, me explico segui "todo" como debe ser. y al enviarlo en caso de un documento, envia el archivo con el nombre "Document" y sin extension de paso.

Espero puedan ayudarme con la solucion a esto y poder enviar el archivo con su nombre y extension y asi llegue al otro lado. anexo el codigo funcional expetuando eso.

Código:
Telegram.Bot.Types.InputFiles.InputTelegramFile f = new Telegram.Bot.Types.InputFiles.InputTelegramFile(System.IO.File.Open(ofd.FileName, FileMode.Open));
                               
                                if (Path.GetExtension(ofd.FileName) == ".doc" || Path.GetExtension(ofd.FileName) == ".docx" || Path.GetExtension(ofd.FileName) == ".rtf" || Path.GetExtension(ofd.FileName) == ".pdf")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendDocumentAsync(Settings.Default.idTelegram, f.Content, f.FileName = ofd.SafeFileName);
                                }
                                else if (Path.GetExtension(ofd.FileName) == ".jpg" || Path.GetExtension(ofd.FileName) == ".jpge" || Path.GetExtension(ofd.FileName) == ".png" || Path.GetExtension(ofd.FileName) == ".bmp")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendPhotoAsync(Settings.Default.idTelegram, f.Content, f.FileName = ofd.SafeFileName);
                                }
                                else if (Path.GetExtension(ofd.FileName) == ".mp3" || Path.GetExtension(ofd.FileName) == ".mp2" || Path.GetExtension(ofd.FileName) == ".wav")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendAudioAsync(Settings.Default.idTelegram, f.Content, f.FileName = ofd.SafeFileName);
                                }
                                else if (Path.GetExtension(ofd.FileName) == ".mp4" || Path.GetExtension(ofd.FileName) == ".3gp" || Path.GetExtension(ofd.FileName) == ".avi" || Path.GetExtension(ofd.FileName) == ".mkv")
                                {
                                    Biblioteca.Herramientas.TelegramTool.Bot.SendVideoAsync(Settings.Default.idTelegram, f.Content);
                                }                 

Esta en un simple boton, gracias de antemano , espero sua tencion y ayuda.
Anexo, la informacion que encontre en internet esta desactualizada respecto al que descargue (al parecer la ultima version), pueden fijarse en los planteamientos diferentes que hay y el mio.
110  Programación / .NET (C#, VB.NET, ASP) / Re: Enviar accion a proceso especifico wpf en: 14 Junio 2018, 00:43 am
hola elektro, quiero ambas cosas pero de momento me inclino por la primera, y es investigar para aprender lo que me estas enseñando, leere con mas detenimiento y me informare mas, ya seria a ultima instancia que pedirira una explicacion de un conocedor del tema a pronfundidad como tu y  con el codigo, gracias por que en tiempos anteriores , no hubiera entendido esta ayuda tuya.

La cosa como tal es que no se como aplicar exactamente el metodo en el codigo ahi es donde debo ver bien como se usa el Process.GetProcesessByName();

Gracias nuevamente, regresare publicando como resolvi esto o pidiendo ayuda gracias por la paciencia.
Páginas: 1 2 3 4 5 6 7 8 9 10 [11] 12 13 14 15 16 17 18 19 20 21 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines