Belleza de Video, siempre quise saber eso y te soy sincero nunca profundice en el tema y siempre tuve el problema, buenísimas todas las recomendaciones que das y te agradezco la dedicación. Sigue Adelante! Saludos desde Guatemala.
@TioCachasDeOro2 жыл бұрын
Excelente video, hacer mas con los recursos minimos necesarios y así ahorrar recursos. Muchas gracias
@2005bgva2 жыл бұрын
muchas gracias, muy interesante.
@giorgiocipriano33344 жыл бұрын
Video muy claro y ejemplos perfectos, gracias y felicitaciones.
@carlosgrover99674 жыл бұрын
Grandioso video, muchas gracias y saludos desde México
@NetMentor4 жыл бұрын
Gracias!
@arielcattaneo3 жыл бұрын
Genial NetMentor ! Esta bien des referenciar los handler a eventos que se hallan asignados en la implementación del Dispose(). Dispose() { myEvent -= HandlerMethod }
@NetMentor3 жыл бұрын
no se si es una pregunta o una afirmación, pero sí, si tienes eventos debes des-referenciarlos en el dispose (o antes en un metodo propio) 👍
@arielcattaneo3 жыл бұрын
@@NetMentor Se me olvido el "?". Entonces esta bien y no tengo que cambiar mi habito. Gracias, saludos !
@kervytmarrerorosales5354 жыл бұрын
❤️ gracias!
@jorgemar146911 ай бұрын
cuando inyecto por dependencia mi dbcontext es necesario usar using?
@NetMentor11 ай бұрын
Nope, deja a EF que administre el lifetime
@jorgemar146911 ай бұрын
@@NetMentor gracias
@Mirandayomar4 жыл бұрын
Muy buen video
@NetMentor4 жыл бұрын
Gracias !
@LicAntoMiranda3 жыл бұрын
tengo una duda...si tengo una app q se conecta a sql.. pero antes de terminar cierra la conexion osea conection.close(); .. asi como tmb usa un fichero en donde escribe StreamWriter sw pero luegosw.close(); ... es necesario usar IDisposable?? si durante el codigo fui cerrando todo...
@NetMentor3 жыл бұрын
hola! sí, tienes que llamar dispose. Si la clase que estas creando utiliza una clase que implementa IDisposable, debes limpiar los recursos con .dispose(). En el 99% de casos implementarás el Dispose utlizando using(){}. Ténicamente en streamwriter.close llama a .dispose así que en el stream te da igual uno que el otro, pero como es un caso excepcional yo lo ignoraría. Un saludo!
@javiopakan24 жыл бұрын
Saludos, gracias por tus video y esfuerzos.... una curiosidad, he visto a otros que han dicho que sin implementar el IDipose en la clase, solo con el hecho de usar usin (....){..}.. aseguramos que llamara el IDipose
@NetMentor4 жыл бұрын
Sí, con using(){} llamamos al dispose cuando se cierra el using, el problema es que si no implementamos el método no hay metodo al que llamar. este ejemplo lo puedes ver en el vídeo en el minuto 8:00 nuestro wrapper contiene el tipo MySqlConnection el cual si tiene dispose, entonces, para este ejemplo podríamos hacer using(MySqlConnection){ select *... } en vez de new mysqlconnection y llamaría al dispose de mysqlconnection, con lo que el resutlado seria el mismo. Pero en el mundo real (que es lo que mis ejemplos siempre intentan simular), no insertamos en todas las tablas en el mismo método (o no deberíamos) sino que debemos crear una transacción. ir insertando en cada una de las tablas y cuando terminamos hacemos el commit junto con el dispose, ya que así reutilizamos la misma conexión en todos los inserts, además de que si falla, no hay que elminar información ya insertada. un saludo.
@javiopakan24 жыл бұрын
@@NetMentor gracias!!! En algún momento me gustaría que subas un vídeo implementando el patrón repositorio y UoW... Así como haces en el mundo real el ejemplo.... Gracias por todo
@NetMentor4 жыл бұрын
Pues posiblemente lo suba, eso sí, no se.cuando, tengo una larga lista de pendientes primero 😂
@TioCachasDeOro2 жыл бұрын
Existen herramientas para detectar los recursos que no se liberaron?
@NetMentor2 жыл бұрын
nope, no hay nada, lo único que podrias tener es algo que te cierre conexiones y tal, pero automatico no hay nada, o por lo menos nada que yo sepa.
@hector90793 жыл бұрын
Tendrás el código de ejemplo?
@NetMentor3 жыл бұрын
Hola! En el primer comentario del vídeo, tienes un enlace al blog, donde esta el cóigo, tanto explicado en el propio post, como un link a GitHub. Un saludo!
@hector90793 жыл бұрын
Ok gracias, esta muy bueno tu video 👍
@Jocker883 жыл бұрын
"un parche bastante malo, eso no lo tenemos que hacer jamás" xD. Bien, llama a mi empresa que no quiere pagar el tiempo que vale arreglar el problema jajaja, resumen, cada vez el pool es mayor y llegará el punto que los hierros no den para más. Buen vídeo, gracias! P.D.: Me enganché a tu canal una cosa barbara!
@NetMentor3 жыл бұрын
haha y lo he visto ya, de normal no recibo tantos mensajes 😂 Espero que pulses en la publi 😂😂
@juliofrias39843 жыл бұрын
Windows Form: View -> creo objeto -> SuplidorController -> creo objeto -> SuplidorDTO & SuplidorDTA, mi pregunta: Debo implementar la Interfaz IDisposable en las tres clases???
@NetMentor3 жыл бұрын
Hola a que te refieres a los dto? en el dto seguro que no y en el resto depende, si acceden a algo de fuera si, pero si accedes a algo de fuera si, la forma mas facil es comprobar que es lo que estas haciendo y hacer f12 en la clase y mirar si usa IDisposable e implementarla
@Lorshi Жыл бұрын
amigo muy interesante tu video pero me quema los ojos ver el tema claro de noche
@adolfovanegas78024 жыл бұрын
Pero en este caso, using no resuelve este problema sin tener qee implementar disponse. Saludos
@NetMentor4 жыл бұрын
No entiendo muy bien a qué te refieres, ha que cuando utilizas using estas utilizando dispose
@adolfovanegas78024 жыл бұрын
@@NetMentor bien, usted explica que para cerrar la coneccion de base de datos, hay que implementar Idisponsable, yo actualmente libero el recueso encereando la coneccion de base de datos, con un using, pero me interesa saber si la forma que explica , es mas efectiva. Saludos. Algo cm esto: using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); ... command.ExecuteNonQuery(); } aqui se libera el recurso
@NetMentor4 жыл бұрын
Si, en ese caso es igual se libera al cerrar el using. Pero esa forma de implementar el mysqlconnection no es 100% correcta ya que si tuvieras que por ejemplo insertar en 5 tablas distintas necesitarías hacerlo todo dentro del using lo que no sería correcto. (Ya que si una falla debería cancelar/rollback) Para el ejemplo que acabo de decir, necesitarás abrir una transacción , y cuando terminas con la última cerrar, commit y liberar memoria, eso solo lo puedes hacer si implementado un wrapper sobre la conexión. (Hablo siempre con la idea de dejar un código limpio y ordenado, obviamente si se puede hacer ) El ejemplo era para explicar idisposable, más que para explicar cómo cerrar la conexión a la base de datos. Un saludo. Edit: básicamente es mejor utilizar un wrapper ya que así puedes reutilizar la conexión.
@adolfovanegas78024 жыл бұрын
@@NetMentor muchas gracias, voy a seguir leyendo al respecto, gracias por tu tiempo.