none
Problema variabili sessione su più istanze. RRS feed

  • Domanda

  • Ciao a tutti , ho aggiunto una nuova istanza perche da ieri, e non so come ma l'applicazione era diventate lentissima.

    A parte questo un utente di questo forum mi aveva già consigliato di stare attento a fare uploading, in multi istanza perchè ovviamente il contenuto poteva trovarsi poi su un altro disco virtuale rispetto a quale istanza l'utente veniva reindirizzato.

    Ma lo stesso, accade con le variabili di sessione, se per esempio assegno ad un variabile di sessione che mi indica un eventuale percorso scelto, a pochi clic di distanza potrei trovarmi il software che mi impone di nuovo la scelta, trovandomi poi a caso su una piuttosto che l'altra vista dati,

    Voi come la gestita la cosa?

    grazie a tutti.

    venerdì 27 luglio 2012 13:58

Risposte

  • Ciao Jonathan Hades,

    You wrote on 28/07/2012 :

    Capisco, ma in un'applicazione tipo "carrello spesa", dove a mio parere la sessione è indsipensabile per mantenere i dati del carrello, come si fa ? Io al momento non riesco a immaginare di programmare un e-commerce senza avvalermi delle sessioni, un cosa del genere come la fareste?

    db + cookie: i dati del carrello sono in un db, magari un table storage di Azure così scali anche li, e l'id del carrello sta in un cookie sulla macchina dell'utente.

    E poi l'accesso utente, come fate a tenere la sessione utente loggatto?

    forms authentication cookie.

    .m



    blog @ //milestone.topics.it
    • Contrassegnato come risposta Irina Turcu martedì 31 luglio 2012 15:42
    sabato 28 luglio 2012 08:17
  • ciao

    condivido il consiglio di Mauro dove non usare sessioni è sicuramente più Cloud di usarle

    quando non puoi fare a meno di averle, in Azure, la configurazione ottimale è usare AppFabric Cache come provider della sessione

    http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_buildingappswithcacheservice_topic3.aspx

    a presto


    Antonio Esposito [MCT, MCPD, MCTS, MCP]
    dotnetlombardia.org | blog | web | @tonyexpo
    Italy
     

    • Contrassegnato come risposta Irina Turcu martedì 31 luglio 2012 15:42
    lunedì 30 luglio 2012 09:45

Tutte le risposte

  • Ciao Jonathan Hades,

    You wrote on 27/07/2012 :

    Voi come la gestita la cosa?

    senza usare le sessioni :-) in un ambiete distribuito orizzontalmente, come è per sua natura Azure, devi essere stateless, a meno di inventarsi cose turche o usare artifizi, comunque proni ad errori o fallaci, per persistere la sessione in qualche modo. Introduci in tutti i casi un "single point of failure" che è per natura senza senso dato che hai scelto Azure proprio per non avere single point of failure :-)

    .m



    blog @ //milestone.topics.it
    sabato 28 luglio 2012 06:44
  • Capisco, ma in un'applicazione tipo "carrello spesa", dove a mio parere la sessione è indsipensabile per mantenere i dati del carrello, come si fa ? Io al momento non riesco a immaginare di programmare un e-commerce senza avvalermi delle sessioni, un cosa del genere come la fareste?

    E poi l'accesso utente, come fate a tenere la sessione utente loggatto?


    sabato 28 luglio 2012 07:24
  • Ciao Jonathan Hades,

    You wrote on 28/07/2012 :

    Capisco, ma in un'applicazione tipo "carrello spesa", dove a mio parere la sessione è indsipensabile per mantenere i dati del carrello, come si fa ? Io al momento non riesco a immaginare di programmare un e-commerce senza avvalermi delle sessioni, un cosa del genere come la fareste?

    db + cookie: i dati del carrello sono in un db, magari un table storage di Azure così scali anche li, e l'id del carrello sta in un cookie sulla macchina dell'utente.

    E poi l'accesso utente, come fate a tenere la sessione utente loggatto?

    forms authentication cookie.

    .m



    blog @ //milestone.topics.it
    • Contrassegnato come risposta Irina Turcu martedì 31 luglio 2012 15:42
    sabato 28 luglio 2012 08:17
  • Grazie della dritta, ora sto facendo dei test intanto riporto l'istanza ad uno finché non rigestisco le variabili di sessione, ho anche visto la possibilità di usare la cache di azure, voi come la vedete questa soluzione, la consigliate ha delle controindicazioni?
    sabato 28 luglio 2012 09:52
  • Ciao Jonathan Hades,

    You wrote on 28/07/2012 :

    Grazie della dritta, ora sto facendo dei test intanto riporto l'istanza ad uno finché non rigestisco le variabili di sessione, ho anche visto la possibilità di usare la cache di azure, voi come la vedete questa soluzione, la consigliate ha delle controindicazioni?

    che la cache è pensata per essere una cache, quindi tipicamente di dati in sola lettura e/o a basso rate di aggiornamento.

    .m



    blog @ //milestone.topics.it
    lunedì 30 luglio 2012 04:57
  • ciao

    condivido il consiglio di Mauro dove non usare sessioni è sicuramente più Cloud di usarle

    quando non puoi fare a meno di averle, in Azure, la configurazione ottimale è usare AppFabric Cache come provider della sessione

    http://msdn.microsoft.com/en-us/wazplatformtrainingcourse_buildingappswithcacheservice_topic3.aspx

    a presto


    Antonio Esposito [MCT, MCPD, MCTS, MCP]
    dotnetlombardia.org | blog | web | @tonyexpo
    Italy
     

    • Contrassegnato come risposta Irina Turcu martedì 31 luglio 2012 15:42
    lunedì 30 luglio 2012 09:45
  • A proposito delle Cache ho visto che MS, ha attivato la preview di un role che fa da cache service, il quale verrebbe conteggiato come ruolo al contrario di invece la Shared Cache, che è un servizio sicuramente più scalabile e veloce, ma molto costoso.

    Riepilogando da quello che ho letto in questi giorni:

    Session State:

    1. Tramite Azure Cache

    2. Tramite Table & Cookie.

    3. Tramite Sql Azure, Anche in questo caso sto seguendo il progresso del nuovo provider "Universal Membership Provider", strumento che dovrebbe unificare la gestione di role, membership e state per sql azure e desktop, Opzione nel mio caso molto appetibile per chi non deve gestire grosse quantità di dati in sessione, anche perché in generale è alquanto economica se già si sta utilizzando un db su azure.

    lunedì 30 luglio 2012 14:06