¿Cómo mostrar los resultados asíncronos cuál es el primero en la aplicación asp.netweb?

Tengo que enviar tres solicitudes asíncronas en tres archivos de clase, 3 tiempos de respuesta de las solicitudes son diferentes, la primera es 2 segundos y la segunda es 7 segundos y la tercera es 4 segundos.ahora tengo que mostrar la primera respuesta en el navegador con 2 segundos y después de 2 segundos mostrar la tercera respuesta y finalmente mostrar la segunda respuesta, pero ahora mis resultados muestran todas las respuestas en un momento después de completar tres respuestas, por favor, dame alguna sugerencia, es muy urgente, por favor ...

mi código es

public delegate string AsyncMethodCaller(string name);
        public delegate string AsyncMethodCallertest(string name);
        public delegate string NatilusAsyn(string name);

botón clic evento

     AsyncMethodCaller caller = new AsyncMethodCaller(ps.PennStarService);
        IAsyncResult result = caller.BeginInvoke(txtFirst.Text, null, null);
    NatilusAsyn caller123 = new NatilusAsyn(cs.PennStarService);
        IAsyncResult result123 = caller123 .BeginInvoke(txtthird.Text, null, null);
        AsyncMethodCallertest cltest = new AsyncMethodCallertest(ps.testHi);
        IAsyncResult tetsresult = cltest.BeginInvoke(txtSecond.Text, null, null);
        lblFirst.Text = caller.EndInvoke(result);           
        lblSecond.Text = cltest.EndInvoke(tetsresult);
     lblthird.Text = caller123.EndInvoke(result123); 

gracias hemanth

Respuestas a la pregunta(1)

Su respuesta a la pregunta