
Κατά το σχεδιασμό μιας εφαρμογής WebForm ASP.net ποια είναι μερικά σημαντικά βήματα για να λάβει (ή αμυχές αν σας αρέσει να χρησιμοποιούν τον όρο) για να εξασφαλίσει την καλύτερη δυνατή απόδοση (όσον αφορά την ταχύτητα, τη σταθερότητα και την επεκτασιμότητα);

 
Αύξηση ASP.net WebForm Απόδοσης
===============================



Εδώ είναι μια καλή Best Practices που γράφτηκε από τη Microsoft. Κεφάλαιο 6 είναι ειδικά για ASP.NET, αλλά ολόκληρο το έγγραφο .NET γενικότερα.


* <http://msdn.microsoft.com/en-us/library/ms998530.aspx>

 

Έχετε έναν τόνο υλικού, κατευθείαν από τη Microsoft [εδώ](http://msdn.microsoft.com/en-us/library/ms998549.aspx) . Επίσης, μια [λίστα ελέγχου](http://msdn.microsoft.com/en-us/library/ms998596.aspx) είναι διαθέσιμη, εάν θέλετε συνοπτικές πληροφορίες.

 

Ακριβώς ένα ζευγάρι, εκτός από την καλή συμβουλή που έχουν ήδη δοθεί,


1. Μην τοποθετείτε κάθε σελίδα σε μια φόρμα ιστού, όχι ό, τι χρειάζεται - Η προεπιλεγμένη συμπεριφορά από VS είναι να σας δώσει μια κύρια σελίδα που τυλίγει μια μορφή γύρω από τα πάντα, και πολλοί άνθρωποι φαίνεται να κολλήσει με αυτό. Σύμφωνα με την εμπειρία μου, ορισμένα στοιχεία ελέγχου μπορεί να αποδώσει 30% πιο γρήγορα έξω από ένα φόρμας ιστού, οπότε αν είστε απλώς την ανάλυση ενός querystring στη συνέχεια διαβάζει κάτι από μια βάση δεδομένων, αφήστε το έντυπο στο σπίτι, αν μπορείτε. Ακόμη και να πάρει πλοήγησης από τη μορφή, θα βοηθήσει.
2. Μην χρησιμοποιείτε ένα στοιχείο ελέγχου διακομιστή, όταν πεδιάδα παλιά HTML θα κάνει - δεν είναι πραγματικά απαραίτητο ένα asp: linkbutton ή asp: υπερ-σύνδεση μόνο για να πάει στη σελίδα FAQ κλπ απλού υπερ-συνδέσεις δουλεύουν μια χαρά σε asp.net, αλλά μερικοί άνθρωποι φαίνεται να κολλήσει στην ιδέα της χρησιμοποίησης runat = «server» για τα πάντα.

 

Big # 1 συμβουλή: να απενεργοποιήσετε viewstate στο web.config. Αυτό θα έπρεπε να είναι η προεπιλογή, αν το χρειάζεστε για τον έλεγχο ενεργοποιήστε την σε έλεγχο ανά έλεγχο.


άλλο κομμάτι μου συμβουλή είναι να μείνετε στο διάολο μακριά από * ελέγχους άποψη. Χρησιμοποιήστε αναμεταδότες και να βρούμε έναν καλό έλεγχο του δικτύου 3rd party. Το πραγματικά «μαγικό» ελέγχει το πλοίο με asp τείνουν να είναι perf γουρούνια, και γενικά απλά δεν είναι καλή ιδέα έτσι κι αλλιώς (με την πιθανή εξαίρεση της ListView)

 

Υπάρχει μια [phenominal βιβλίο](http://rads.stackoverflow.com/amzn/click/0596529309) για το θέμα αυτό με ένα από τα παιδιά Yahoo, Steve Souders. Μου δίδαξε πολλά.


Ή μπορείτε απλά να [παρακολουθήσετε αυτό το βίντεο.](http://video.yahoo.com/watch/1040890/3880720) Είναι μια επισκόπηση υψηλού επιπέδου των ίδιων πληροφοριών - μπορείτε να πάρετε ένα πολύ σε 45 λεπτά παρακολουθώντας αυτό.


ΣΗΜΕΙΩΣΗ: Αυτό το περιεχόμενο δεν είναι WebForms ειδικό. Είναι γενική βέλτιστες πρακτικές για το διαδίκτυο, και είναι ό, τι χρειάζεστε, αν προσπαθείτε να αναπτύξουν μια ιστοσελίδα υψηλής απόδοσης.

 

Δεν είμαι σίγουρος για τη συμπίεση του περιεχομένου όταν το περιεχόμενο περιλαμβάνει html με js κάνει ajax πράγματα. Μερικές φορές τα μπλοκ των δεδομένων που ανταλλάσσονται μέσω ajax είναι μικρά και σε αυτή την περίπτωση (και αν αυτό θεωρείται το περιεχόμενο) συμπίεσης συχνά πονάει αντί να βοηθήσει. Για παράδειγμα, ένα μπλοκ τεσσάρων byte δεδομένων παράγει ένα συμπιεσμένο μπλοκ των 100+ bytes.

 

1 - Ενεργοποίηση της συμπίεσης περιεχόμενο στο IIS


2 - Cache ό, τι μπορείτε


Αυτό θα κάνουμε για την πλειοψηφία των ξεκινούν πάλι εκεί έξω.

 