Ένα πολύ κοινό σφάλμα στον κόσμο της ASP είναι: Οι κεφαλίδες HTTP είναι ήδη γραμμένες στο πρόγραμμα περιήγησης πελάτη. Οποιεσδήποτε τροποποιήσεις κεφαλίδας HTTP πρέπει να γίνουν πριν από την εγγραφή περιεχομένου σελίδας. Το πραγματικό μπλοκ σφάλματος έχει την τάση να μοιάζει με αυτό:

Σφάλμα αντικειμένου απόκρισης 'ASP 0156: 80004005
Σφάλμα κεφαλίδας
/index.asp, γραμμή 22
Οι κεφαλίδες HTTP είναι ήδη γραμμένες στο πρόγραμμα περιήγησης πελάτη. Οποιεσδήποτε τροποποιήσεις κεφαλίδας HTTP πρέπει να γίνουν πριν από την εγγραφή περιεχομένου σελίδας.

Πρώτον, τι προκαλεί αυτό το σφάλμα; Είναι ακριβώς αυτό που λέγεται. Έχετε ήδη γράψει κεφαλίδες HTTP - όπως τις εντολές HTML ή HEAD ή BODY. Τώρα προσπαθείτε να κάνετε κάτι άλλο - πιθανώς την εντολή απάντησης. Δεν μπορείτε να μεταβείτε σε μια νέα σελίδα στη μέση της σύνταξης μιας παλιάς σελίδας.

Η πρώτη πιο πιθανή κατάσταση είναι ότι πραγματικά γράψατε κάτι έξω και στη συνέχεια προσπαθήστε να απαντήσετε. Εάν θέλετε να μεταβείτε σε μια νέα σελίδα, κάντε τη διαδικασία λήψης αποφάσεων ΠΡΙΝ να αρχίσετε να γράφετε οτιδήποτε στην οθόνη. Δεν μπορείτε απλά να πηδήσετε κατά τη διάρκεια της σχεδίασης μιας σελίδας. Κάντε την επεξεργασία σας, αποφασίστε εάν πρέπει να πάτε αλλού και πηγαίνετε εκεί, αν το χρειάζεστε. Εάν όχι, σχεδιάστε τη σελίδα που βρίσκεστε αυτήν τη στιγμή. Μπορείτε να μάθετε περισσότερα σχετικά με τη χρήση της απάντησης.Ανατρέξτε στην αλλαγή σελίδων

Ο δεύτερος πιο συνηθισμένος λόγος για αυτό το γεγονός είναι ότι εξοργίζατε τα κουμπιά στο IIS. Εάν μεταβείτε στο Home Directory - Configuration - App Options, υπάρχει ένα πλαίσιο ελέγχου που ονομάζεται "Enable Buffering". Αυτό πρέπει να είναι ενεργοποιημένο από προεπιλογή. Όταν αυτό είναι ενεργοποιημένο, σημαίνει ότι η διαδικασία ASP αποθηκεύει σε τι λειτουργεί μέχρι να φτάσει στο τέλος και στη συνέχεια αποστέλλει ολόκληρη τη σελίδα στον χρήστη. Είναι ο αποτελεσματικός τρόπος χειρισμού της ASP.

Ωστόσο, εάν απενεργοποιήσετε αυτό το πλαίσιο ελέγχου, δεν μπορείτε απλά να καλέσετε μια εντολή response.redirect για να μεταβείτε σε μια νέα σελίδα. Πρέπει να αρχίσετε να χειρίζεστε χειροκίνητα τα ζητήματα ρύθμισης. Αν θέλετε πραγματικά να μπει σε αυτό το χάος, να είστε βέβαιος να διαβάσετε σχετικά με το πώς Buffering Works σε ASP.

Η απλή λύση είναι:

* Αφήστε πάντα το πλαίσιο ελέγχου Enable Buffering στο ON
* Πάντοτε να χρησιμοποιείτε την απάντηση.προηγούμενο ΠΡΙΝ να γράψετε ΟΠΟΙΑΔΗΠΟΤΕ HTML.

Εισαγωγή στο ASP Ebook

Κατεβάστε αυτό το ebook για να πάρετε όλα όσα πρέπει να ξέρετε για την εκμάθηση ASP - από ένα βήμα προς βήμα φροντιστήριο λιστών λειτουργιών, δείγμα κώδικα, κοινά σφάλματα και λύσεις, και πολλά άλλα! 101 σελίδες.

Οδηγίες Βίντεο: Technology Stacks - Computer Science for Business Leaders 2016 (Ενδέχεται 2024).