Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ποιος είναι ο 'καλύτερος' τρόπος να cachάρω ένα dataset;

Îåêßíçóå áðü ôï ìÝëïò patrickdrd. Τελευταία δημοσίευση από το μέλος KelMan στις 01-02-2007, 09:06. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  01-02-2007, 03:54 24363

    Ποιος είναι ο 'καλύτερος' τρόπος να cachάρω ένα dataset;

    Καλημέρα σε όλους!

    Ποιος είναι ο 'καλύτερος' τρόπος να cachάρω ένα dataset (persistence);

    ViewState; Session; Ή κάτι άλλο;

    Ευχαριστώ προκαταβολικά!

  •  01-02-2007, 09:06 24364 σε απάντηση της 24363

    Απ: Ποιος είναι ο 'καλύτερος' τρόπος να cachάρω ένα dataset;

    Για να αποφασίσεις τι μηχανισμό caching θα επιλέξεις, πρέπει να γνωρίζεις που θες να φαίνονται τα data σου ή για να το πω καλύτερα ποιά θα είναι η διάρκεια ζωής του cachαρίσματος. Επίσης, παίζει ρόλο τι ακριβώς (οκ, είπαμε, dataset αλλά τι θα έχει μέσα;) είναι αυτό που θες να cachάρεις.

    Αν θες τα data σου να είναι διαθέσιμα για την τρέχουσα σελίδα το ViewState είναι καλή quick'n'dirty επιλογή αν και για μεγάλα datasets αντενδείκνυται γιατί ό,τι βάλεις στη στο ViewState πηγαινοέρχεται μεταξύ client και server σε κάθε postback
    (πράγμα που σημαίνει ότι αργεί η σελίδα να φύγει και να ξαναέρθει). Αν τυγχάνει τα ίδια data να τα δείχνεις σε κάποιο GridView τότε έχεις διπλά data να πηγαινοέρχονται.

    Στην περίπτωση που θες να διαθέτεις τα data σε όλες τις σελίδες που μπαίνει ο χρήστης, τότε έχεις ως επιλογή το Session. Εδώ χρειάζεται προσοχή γιατί θα πρέπει να δέχεται ο χρήστης cookies ή να ενεργοποιήσεις cookieles sessions. Επιπρόσθετα, θα πρέπει να φροντίσεις για το τι θα γίνει στην περίπτωση των session timeouts. Έχε υπόψην πως ότι κάνεις στο Session για έναν χρήστη, ισχύει για όλους, με το ανάλογο κόστος στη μνήμη.

    Αν θέλεις να διαθέτεις τα data για όλους τους χρήστες, τότε μπορείς να χρησιμοποιήσεις το Application object. Όμως χρειάζεται και πάλι προσοχή γιατί αυτό ζει όσο και το web application και αν αρχίσεις να το γεμίζεις με datasets, αντιλαμβάνεσαι τι γίνεται...

    Η καλύτερη επιλογή είναι το Cache object. Μοίαζει με το Application (έχει application life-span, data διαθέσιμα για όλους τους χρήστες) αλλά επιπρόσθετα έχει expiration policies και dependencies, δηλαδή τα data μπορεί να φύγουν από την cache βάσει κάποιου χρονικού περιορισμού ή αν αλλάξει κάποιο dependency entity (file, key, κλπ).

    Για περισσότερα, διάβασε εδώ: http://samples.gotdotnet.com/quickstart/aspplus/default.aspx?url=%2fquickstart%2faspplus%2fdoc%2fdatacaching.aspx


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems