Async y Paralelismo en C# | Temas Avanzados | Programando en ASP.NET MVC 5

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ม.ค. 2025

ความคิดเห็น • 42

  • @LuisRodriguez-wf9cc
    @LuisRodriguez-wf9cc 4 ปีที่แล้ว

    Tus videos siempre explicados en pocos minutos! :O Genial Master!! Muchas gracias!!!!!!

  • @DanielPila
    @DanielPila 4 ปีที่แล้ว

    Como siempre: directo y claro. Gran vídeo

  • @andresnator
    @andresnator 7 ปีที่แล้ว +3

    Simple y al grano, gracias

  • @luisangelgonzalezmaceda7780
    @luisangelgonzalezmaceda7780 4 ปีที่แล้ว

    Me gusto mucho este vídeo muy bien explicado y con casos reales...Saludos

  • @aaronaaronaaron5922
    @aaronaaronaaron5922 5 ปีที่แล้ว +1

    😁 Es el mejor video que he visto de asincronía y paralelismo 🍻 Oye, crees que podrías subir un video de Test para métodos asíncronos???? Mil gracias

  • @arlendx
    @arlendx 7 ปีที่แล้ว

    Explicado super bien y se entiende clarísimo. Muchas gracias

  • @MiguelAngelGuanteSuero
    @MiguelAngelGuanteSuero 5 ปีที่แล้ว

    Excelente explicación sobre paralelismo.

  • @Oplaflafla
    @Oplaflafla 6 ปีที่แล้ว

    no sabia que Shadow! tambien subia videos de programacion, genial !

  • @jonathanarangoa4281
    @jonathanarangoa4281 6 ปีที่แล้ว

    sus videos son lo mejor

  • @Oplaflafla
    @Oplaflafla 6 ปีที่แล้ว

    buenisimo tu video, muy completo!

  • @josezavala5972
    @josezavala5972 4 ปีที่แล้ว

    Hola qué buen video, está entendible solo tengo una duda que quizás sea otro tema, pero cuando yo creo un web services "normal" (o ya sea el ejemplo que te da c# al crean un service1), y al crear mi cliente exite una opción para que genere métodos asíncronos y al quererlo usar su definición me dice que devuelve un void y al parecer debo de usar otros métodos que incorpora begin y end y no me da el método async como el tuyo que te devuelve un Task que configuración debo de hacer en mi web services o debo de hacer métodos que devuelvan un Task en mi servicio e implementacion del servicio?

  • @507master
    @507master 4 ปีที่แล้ว

    gran explicación.

  • @RafaBroth
    @RafaBroth 3 ปีที่แล้ว

    Excelente

  • @highdrizz
    @highdrizz ปีที่แล้ว

    Gracias.

  • @paquirriseperak1501
    @paquirriseperak1501 5 ปีที่แล้ว

    Buen video amigo pero tengo una consulta, como haces en el caso que lo que deseas hacer es dirigirte a una o varias bases de datos(manejado de manera dinámica) para extraer información, juntarla y mostrarla en un solo reporte, en ese caso se podría usar paralelismo y si es así de que manera porque puede ser que busque en una o en todas las bd de una lista

  • @emmanuelcruz6026
    @emmanuelcruz6026 7 ปีที่แล้ว +1

    Hola quiero felicitarte excelente video, una pregunta, a la hora de rapidez y eficiencia con que es más recomendable trabajar con thread o taks?

    • @gavilanch2
      @gavilanch2  7 ปีที่แล้ว +1

      +emmanuel cruz gracias! Es mejor trabajar con task en general pues este se encarga de manejar los threads por ti de manera eficiente.

  • @crissanchez1251
    @crissanchez1251 6 ปีที่แล้ว

    Excelente video

  • @ismaelcentella
    @ismaelcentella 7 ปีที่แล้ว +4

    Hola, podrías poner el codigo del proyecto entero en algun rar para ver que haces en Service.svc.cs y en las vistas? Gracias

  • @Fer-us4ny
    @Fer-us4ny 4 ปีที่แล้ว

    Excelente explicación, solo una pregunta si quiero aplicar async debo hacerlo desde la capa mas baja (ej, capa de datos) hasta la ultima (ej: capa de negocio), en todas las capas siempre async await. Por otro lado, seria un error grave llamar en un metodo sincrono a uno asincono colocando .Result o .Wait ya que de ese modo estariamos trabjando sobre el mismo hilo verdad? y no aplicando el asincronismo.

    • @gavilanch2
      @gavilanch2  4 ปีที่แล้ว +1

      Es lo normal colocar el async-await en todas capas.
      Con respecto a Result: Eso es un antipatrón llamado "sync over async" y es un error hacerlo en general. Si puedes evitarlo, evitalo.
      Saludos!

  • @gonzalezn4021
    @gonzalezn4021 5 ปีที่แล้ว

    Excelente!

  • @gjgiraldo1
    @gjgiraldo1 7 ปีที่แล้ว

    gracias eres el mejor

  • @rubencarabias1740
    @rubencarabias1740 5 ปีที่แล้ว

    Muy buen vídeo pero me surge una duda, cuando programas de manera paralela en el proceso dos y añades un .ContinueWith() ¿Qué diferencia hay entra hacer todo esto en la primera tarea (dentro del proceso dos) o en dos tareas(dentro del proceso dos) como haces en en vídeo?

  • @Tylorix
    @Tylorix 4 ปีที่แล้ว

    y si la cantidad de tareas no esta definida? es decir que llamo una función para diferentes tareas?

  • @ivanbonillavillarreal2674
    @ivanbonillavillarreal2674 4 ปีที่แล้ว

    tengo interés de especializarme lo mas que se pueda - consulta : tienes cursos formales en los que yo me pueda inscribir ?

    • @gavilanch2
      @gavilanch2  4 ปีที่แล้ว

      Buenas, Ivan, sí, tengo cursos para inscribirse:
      Desarrollo de Web APIs con ASP.NET Core: www.udemy.com/course/construyendo-web-apis-restful-con-aspnet-core/?referralCode=2067EC056E505823483D
      Programando en Blazor: www.udemy.com/course/programando-en-blazor-aspnet-core/?referralCode=9C628CCB2E3A35A73D6A
      Introducción a la Concurrencia en C#: www.udemy.com/course/introduccion-a-la-concurrencia-en-c-async-y-paralelismo/?referralCode=8E12A2CB50D707DDC9F3
      Saludos!

  • @ErnestoNoeIsordiaCuevas
    @ErnestoNoeIsordiaCuevas 7 ปีที่แล้ว

    Buenisima gracias

  • @nestormatias217
    @nestormatias217 5 ปีที่แล้ว

    Great solution

  • @chacataplan
    @chacataplan 7 ปีที่แล้ว

    Gracias!!!

  • @lonquint
    @lonquint 7 ปีที่แล้ว

    tengo una pregunta,tengo una aplicación que inicia desde account/login después dependiendo del users se carga el homenaje con los permisos,ahora deseo iniciar directamente desde un home con permisos básicos para usuario no registrado, y no desde el login

    • @gavilanch2
      @gavilanch2  7 ปีที่แล้ว

      Probablemente debas modificar tu archivo RouteConfig, para indicar la acción por defecto en la que quieres que los usuarios ingresen. Ahí, colocas la lógica de hacia dónde va el usuario, si está logueado lo mandas a un sitio, si no, lo mandas a otro. Saludos

    • @lonquint
      @lonquint 7 ปีที่แล้ว

      Muchas Gracias por responder. Pues mi RouteConfig la tengo como viene por defecto:
      routes.MapRoute(
      name: "Default",
      url: "{controller}/{action}/{id}",
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
      );
      Pero siempre cuando inicio la aplicación en la barra veo Account/login, si coloco en la barra Home/Index me vuelve a colocar Account/login
      Gracias por tu colaboración ya no se que hacer, también quite en el AppConfig estas lineas pero no me sirvio de nada

    • @gavilanch2
      @gavilanch2  7 ปีที่แล้ว

      Es posible que tengas un código que ocasione esto en el Index del HomeController, algo así como Return RedirectToAction o algo así, ¿Puedes verificar los return del Index?

    • @lonquint
      @lonquint 7 ปีที่แล้ว

      Mi index del home controller se encuentra asi:
      private SennovaDBContext db = new SennovaDBContext();
      public ActionResult Index()
      {
      return View();
      }
      [Authorize]
      public ActionResult Contact()
      {
      return View();
      }
      [ChildActionOnly]
      public ActionResult LoadMenu()
      {
      var menu = from a in db.MenuTemp
      select a;
      return View(menu.ToList());
      }

    • @lonquint
      @lonquint 7 ปีที่แล้ว

      Eres un maestrooooooooooooo genial, no habia llegado a los videos de autenticación de usuarios, entonces el controlador como tenía [authorize] a nivel de todo el controlador por eso siempre me llevaba al login Graciassssss. Te voy a molestar con otra cosa estoy generando mis formularios como modales de la siguiente forma: Agregar Proyecto, Utilizo las clases modales de Bootstrap, el problema es que ya no me toma las validaciones en las ventanas modales

  • @p4bl0merch4n
    @p4bl0merch4n 7 ปีที่แล้ว

    muy bien

  • @pillo787
    @pillo787 6 ปีที่แล้ว

    Muy buen video. Sólo puntualizar un concepto que creo que es erróneo. Estás confundiendo concurrencia con paralelismo. Paralelismo significa que necesita de varios núcleos para ello y aquí no tiene porque pasar. Puede que la haya un cambio de contexto en la ejecución de la cpu y pase a ejecutar otro proceso. Daría la sensación de que hay varios núcleos, pero realmente eso puede suceder con una cpu monocore.

  • @roy_c
    @roy_c 5 ปีที่แล้ว

    Paralelismo o concurrencia?

  • @enriqueruiz320
    @enriqueruiz320 4 ปีที่แล้ว

    Eres u Guru

  • @giovannimartinez6300
    @giovannimartinez6300 5 ปีที่แล้ว

    Excelente!

  • @mellcontremar
    @mellcontremar 7 ปีที่แล้ว

    Gracias!!