Una pregunta asincrónica:EndInvoke() - ¿opcional o no?
He estado leyendo en Internet MUCHOS artículos a favor y en contra de Delegate.EndInvoke() es opcional. La mayoría de esos artículos tienen entre 4 y 5 años. Muchos enlaces muertos
¿Alguien puede explicar, en .NET 2.0 - es que EndInvoke() de hecho previene una fuga de memoria inevitable, y en caso afirmativo, puede especificar qué causa esta fuga?
Sobre el mismo tema: si EndInvoke() es de hecho una necesidad - encuentro la mejor manera de implementar el mecanismo de "olvidar y olvidar" usando un método de devolución de llamada que ejecuta EndInvoke(). Me encantaría saber de alguien que piense lo contrario.
Gracias, O
¿Cuál es el significado de fire-n-forget? Asumía que: 1) Si haces un BeginInvoke y no utilizas ningún sondeo, manipuladores de espera o devolución de llamada, entonces se trata de un método de fuego-n-forget 2) Solo se pueden usar métodos de retorno nulo para fire-n-forget para que no necesites preocuparse por usar cualquiera de los tres anteriores después de hacer un BeginInvoke. Creo que si sugieres utilizar la devolución de llamada para evitar fugas de memoria, ya no es Fire-n-forget. –
Esa fue exactamente mi pregunta. Si la guía es usar siempre EndInvoke(), entonces no hay opción para disparar y olvidar. Un poco extraño. – tsemer