Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730

    asp.net 3.5 strano problema con session

    Ciao a tutti,
    ho un problema strano con le variabili di sessione;
    allora lo scenario è questo: ho un applicazione intranet che alla login valorizza una session["LOGIN"] = 1;

    e nella master page interna controlla semplicemente se session["LOGIN"]== 1
    in caso contrario rimanda alla login.

    il problema è che la sessione mi ritorna a null ogni volta che cancello un documento!!!
    utilizzo linq-to sql per gestire l'applicazione non so se possa influire...

    aspetto risposte con ansia

  2. #2
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    comportamento strano:

    allora ..dopo aver tolto tutto quello che faceva il metodo di cancellazione e aver rimesso tutto controllando passo passo ,ho visto che....:
    cancellando la cartellina per il documento con questo codice

    Codice PHP:
     if (Directory.Exists(Server.MapPath("/documents/" Convert.ToInt32(e.CommandArgument))))
      
    Directory.Delete(Server.MapPath("/documents/" Convert.ToInt32(e.CommandArgument)), true); 
    la sessione si reinizializza........
    vi è mai capitato ?

  3. #3
    Questa situazione non si verifica per caso. E' una feature di asp.net 2.0. L'assembly contenuto all'interno di una Directory Virtuale (web-application, sito web etc.) viene ricaricato automaticamente quando una cartella o una sottocartella viene aggiunta o cancellata. Ne consegue che Cache e Sessione vengono cancellate. Potrei darti diversi consigli a riguardo:

    1. se la cartella può essere tenuta fuori dalla directory (cosa praticamente impossibile) potresti spostare la gestione di queste directory esternamente alla cartella principale a cui fà riferimento la directory virtuale.
    2. se devi cancellare la cartella perchè il tuo obiettivo è cancellarci i file che ci sono dentro, prepara una routine che si occupi di ripulire la cartella e lasciarla vuota
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  4. #4
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    grazie, avevo trovato questa cosa "googleando"
    non è che mi fa tanto piacere... non mi piace lasciare cartelle vuote cmq ho optato per la 2 .

    Grazie gentilissimo come sempre

    ciao!

  5. #5
    Di niente, io ho avuto lo stesso problema un'anno fà, dirti che sono impazzito è dire poco. Sai com'è, spacciano una cosa del genere per "Feature" quando alla fine non lo è secondo me. Comunque anche io ho optato per la seconda organizzando file con una struttura interna (nome del file stesso) con prefissi e suffissi.

    Buon lavoro!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Mi risulta del tutto nuova questa cosa, mi avete incuriosito, faro' delle prove

    Non riesco a capirne il nesso, e quindi la scelta di mettere su questa ""feature"".
    Che c'entra una operazione con le classi del File System con il riavvio del contesto ?
    Trattasi di sicurezza ?

  7. #7
    ovviamente si (per loro), cmq si, più precisamente viene ricaricato l'intero assembly. Un operazione del genere (spostamenti, creazione e cancellazione di cartelle tramite System.IO.Directory) in una web-application è equivalente all'aggiornamento dell'applicazione che fareste manualmente.
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da RoBYCoNTe
    ovviamente si (per loro), cmq si, più precisamente viene ricaricato l'intero assembly. Un operazione del genere (spostamenti, creazione e cancellazione di cartelle tramite System.IO.Directory) in una web-application è equivalente all'aggiornamento dell'applicazione che fareste manualmente.
    Se non erro, avviene anche quando si tenta di modificae da codice il file Web.Config.

  9. #9
    si si
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  10. #10
    Utente di HTML.it L'avatar di Franz78
    Registrato dal
    Sep 2004
    Messaggi
    730
    Originariamente inviato da djciko
    Se non erro, avviene anche quando si tenta di modificae da codice il file Web.Config.
    infatti io sapevo solo in questo caso; sono quelle cose che ti spiazzano e ti fanno perdere tempo oltre che dare una controllata ed eventualmente rivedere il gia' fatto

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.