Ciao a tutti, scusatemi ma sono nuovo con c#, ho cercato nel forum e ho trovato poche similitudini al mio problema.

Sto cercando di eseguire un codice, che aggiorni una TextBox nella web application
mentre differenti thread avanzano il lavoro.

Attualmente al click del pulsante del form ( che avvia i thread), l'aggiornamento avviene solo quando i tutti thread vengono completati.

Il pulsante fa partire 1° il primo thread che a termine richiama il 2°.
Tra il primo e secondo inserisco un UpdatePanel1.Update ma il risutato non viene visualizzato.



Posto il codice, se potete darmi una mano a capire per poi non dover richiedere...

PAGINA ASPX

codice:
    
<form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"  />
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="False"  >
<ContentTemplate>
<div>
  <asp:TextBox ID="Result" runat="server" Columns="80" Height="250px" Rows="10" TextMode="MultiLine"></asp:TextBox>
<br />
<div style="float: left; width: 250px; padding: 5px; font-family: Tahoma; font-size: small; text-align: center;">PE
<asp:TextBox ID="NomePE" runat="server" Text=""></asp:TextBox>
</div>
<div style="float: left; width: 250px; padding: 5px; font-family: Tahoma; font-size: small; text-align: center;">IP 
<asp:TextBox ID="IpAddress" runat="server" Text=""></asp:TextBox>
</div>
<div style="float: left; width: 250px; padding: 5px; font-family: Tahoma; font-size: small; text-align: center;"> Username
<asp:TextBox ID="Username" runat="server" Text=""></asp:TextBox>
</div>
<div style="float: left; width: 250px; padding: 5px; font-family: Tahoma; font-size: small; text-align: center;">Password
<asp:TextBox ID="Password" runat="server" Text=""></asp:TextBox></div>
 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Invia Config" />               <br />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
PAGINA C#

codice:
        protected void Button1_Click(object sender, EventArgs e)
        {


            ConnectShellThread = new Thread(Createshell);
            ConnectToCeThread = new Thread(ConnectToCe);

            ConnectShellThread.Start();
            ConnectShellThread.Join();
            UpdatePanel1.Update();
            ConnectToCeThread.Start();
            ConnectToCeThread.Join();
            UpdatePanel1.Update();
        }