Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Deep Tech Revolution: così Area Science Park apre i laboratori alle startup
Siamo tornati nel parco tecnologico di Trieste per il kick-off del programma che mette a disposizione di cinque startup le infrastrutture di ricerca, dal sincrotrone Elettra ai laboratori di genomica e HPC. Roberto Pillon racconta il modello e la visione
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo
HP OMEN MAX 16-ak0001nl combina RTX 5080 Laptop e Ryzen AI 9 HX 375 in un desktop replacement potente e ben raffreddato, con display 240 Hz e dotazione completa. Autonomia limitata e calibrazione non perfetta frenano l'entusiasmo, ma a 2.609 euro è tra le proposte più interessanti della categoria.
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-03-2014, 07:44   #1
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
[ASP.NET] Tre righe di codice e un problema

Sto cercando di far sì che una volta caricata la pagina si avvi un thread e che in base al punto in cui è venga aggiornata una label.

Default.aspx
Codice:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ProgressLabel._Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" Runat="Server">
<div>

 <asp:Timer ID="Timer1" runat="server" Interval="300" ontick="Timer1_Tick">
  </asp:Timer>

  <asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
        </Triggers>
        <ContentTemplate>
          <asp:Label ID="lbl_Status" runat="server" Text=""></asp:Label>
        </ContentTemplate>
    </asp:UpdatePanel>

</div>
Default.aspx.cs
Codice:
namespace ProgressLabel
{
    public partial class _Default : Page   
    {
        private volatile int a;
        private Thread b;
        protected void aaa()
        {
            a = 8; 
            for (int m = 0; m <= 15; m++)
            {
                a++;
                System.Diagnostics.Debug.WriteLine("AAAAAAAAAA " + a.ToString());
                Thread.Sleep(1000);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!IsPostBack)
            {
                b = new Thread(aaa);
                b.Start();
            }
        }
        protected void Timer1_Tick(object sender, EventArgs e)
        {
            int c;
            c = a;
            lbl_Status.Text = c.ToString()+"  "+DateTime.Now.Second.ToString();
        }
    }
}
Il thread parte ed inizia ad aggiornare la variabile 'a' regolarmente. Lo vedo grazie a System.Diagnostics.Debug.WriteLine("AAAAAAAAAA " + a.ToString());.
lbl_Status.Text dovrebbe aggiornarsi ogni 300ms con il valore di a [spazio] secondi orologio di sistema.
Invece i secondi vengono aggiornati regolarmente ma il valore a rimane sempre 0.

Inoltre in .NET il termine 'volatile' nella dichiarazione delle variabili è sufficiente ad evitare collisioni tra i thread ?
das è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2014, 09:44   #2
cyfron
Member
 
Iscritto dal: Feb 2011
Messaggi: 191
Ad ogni PostBack, crei una nuova istanza della classe _Default e quindi la variabile "a" sarà sempre 0.

Quella che incrementi con il metodo "aaa" è solo la variabile membro della prima istanza della classe che però non è visibile nei postback successivi.

Una soluzione è quella di definire static la variabile "a" cosi da essere visibile a tutte le istanze della pagina se non hai problemi di concorrenza tra utenti o ancora meglio utilizzare una variabile di sessione.

Ultima modifica di cyfron : 15-04-2014 alle 09:57.
cyfron è offline   Rispondi citando il messaggio o parte di esso
Old 16-04-2014, 13:15   #3
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
Grazie mille, il post però è del 10 marzo
nel frattempo ho risolto usando SESSION[" "];
das è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Deep Tech Revolution: così Area Science Park apre i laboratori alle startup Deep Tech Revolution: così Area Science P...
HP OMEN MAX 16 con RTX 5080: potenza da desktop replacement a prezzo competitivo HP OMEN MAX 16 con RTX 5080: potenza da desktop ...
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Crollo del mercato PC nel 2026: secondo ...
Come dimostrare che gli agenti di IA fan...
Galaxy AI potrebbe creare app funzionant...
Luce solare anche di notte con i satelli...
The Witcher 4 con ambientazioni da urlo ...
007 First Light e Control Resonant avran...
DLSS 4.5 con Dynamic Multi Frame Generat...
Meta acquisisce Moltbook, il social netw...
Red Hat al MWC 2026: attenzione all'IA n...
Amazon espande 'Paga in Contanti': ora d...
Samsung Galaxy S26 Ultra, promosso ma se...
Gemini sempre più integrato in Go...
NVIDIA investe in Thinking Machines Lab:...
NVIDIA prepara NemoClaw, piattaforma ope...
Samsung testa una batteria da 20.000 mAh...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 06:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v