Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Asp.net problema con le variabili

    Ciao a tutti, io ho questo problema:
    ho un sito web in c# in cui ogni client ha la possibilità di costruire delle immagine grafiche!
    Tutte queste informazioni prima di essere salvate in un database sono conservate in un arraylist di strutture!
    Quando il programma viene usato da un solo client nessun problema, quando viene usato da piu utenti il programma funziona però sembra che entrambi accedano allo stesso arraylist scombiando tutti i dati!
    Io mi chiedo ma ogni sessione client non è ben separata da un altra?!?

  2. #2
    Utente di HTML.it L'avatar di GabbOne
    Registrato dal
    Mar 2006
    Messaggi
    577
    Sicuramente le sessioni sono separate forse però hai dei prblemi con i puntatori

    Ad esempio

    Ho un classe A che su richiesta genera delle variabili B, ma siccome la creazione è pesante le mantiene in memoria (a carico del programmatore o del Framework sottostante)... quando una o piu pagine richiede la B ad A qust'ultima restituisce sempre la stessa variabile e nn delle copie ( in realta vengo restituiti solo dei puntatori alla stessa area di memoria) l'effetto che si ha è che se una pagina cambia il valore un valore di B tutte le pagine lo vedranno cambiato.

    Ovviamente senza vedere il tuo codice è difficile sapere se il problema è effettivamente questo ... ciao

  3. #3
    Ah ok...io pensavo che ad ogni sessione diversa creasse un nuovo stack di variabili!
    Cosa si può fare per ovviare a questo?
    Cimunque il mio codice è questo:

    public struct UsedField
    {
    public int id;
    public string Nome;
    public string Mask;
    public int Type;
    public int X;
    public int Y;
    public string Font;
    public int FontSize;
    public bool Rotate;
    }
    public partial class NewEti : System.Web.UI.Page
    {
    private ArrayList ChosenFields;
    protected void InitArray()
    {
    ChosenFields = new ArrayList();
    .
    .
    .
    }
    protected void AddArray()
    {
    UsedField corrente = new UsedField();
    ChosenFields.Add(corrente);
    .
    .
    .
    }
    }

  4. #4
    UP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.