Hace poco read this thread on MSDN. Así que estaba pensando en utilizar una expresión lambda como una forma de llamar a EndInvoke solo para asegurarse de que todo esté ordenado y ordenado. ¿Cuál sería más correcto?¿La forma correcta de finalizar un BeginInvoke?
ejemplo 1:
Action<int> method = DoSomething;
method.BeginInvoke(5, (a)=>{method.EndInvoke(a);}, null);
Ejemplo 2:
Action<int> method = DoSomething;
method.BeginInvoke(5, (a)=>
{
Action<int> m = a.AsyncState as Action<int>;
m.EndInvoke(a);
}, method);
De hecho, me he leído ese artículo, y parece redundante tipo de usar QueueUserWorkItem si puede pasar un lambda en la llamada a BeginInvoke. –
QueueUserWorkItem puede proporcionar otras funciones avanzadas de administración de grupos de hilos además de llamar a EndInvoke. Se prefiere usar eso. – configurator
Depende de lo que está utilizando. En el entorno de IIS, el uso de ThreadPool utilizará los mismos hilos que están disponibles para el procesamiento de solicitudes. http://stackoverflow.com/questions/1453283/threadpool-in-iis-context –