write to txt file from ASP

Πληροφορίες σχετικές με την ASP, ASP.NET και με τις εφαρμογές που είναι γραμμένες με αυτήν.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
kentabros
Δημοσιεύσεις: 14
Εγγραφή: 12 Δεκ 2004 18:53

write to txt file from ASP

Δημοσίευση από kentabros » 12 Δεκ 2004 18:57

Θέλω πατώντας ένα checkbox που θα βρισκεται σε μια ASP σελιδα. Να στελνετε σενα txt αρχειο, που θα βρισκεται στων server, μια σηγκεκριμενη λεξη π.χ. ΟΝ. Και το αντιθετο δηλαδη γραφοντας σ' ενα txt αρχειο, που θα βρισκεται στων server να ενεργοποιειται ενα checkbox το οπιο θα ειναι την ASP σελιδα.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

write to txt file from ASP

Δημοσίευση από skeftomilos » 24 Φεβ 2005 07:10

Αυτό που ζητάς είναι μέσα στα πλαίσια των δυνατοτήτων του πρωτοκόλλου FTP, το οποίο χρησιμοποιεί δύο συνδέσεις, μία για τη μεταφορά των δεδομένων και μία για τον έλεγχο της διαδικασίας. Είναι όμως εκτός δυνατοτήτων για το ελαφρύτερο και απλούστερο πρωτόκολλο HTTP. Και επειδή ισχύει Web = HTTP νομίζω ότι πρέπει να κάνεις κάποιους συμβιβασμούς.

Θέλεις πατώντας ένα checkbox στον browser να γίνεται κάτι στον server. Αυτό απαιτεί JavaScript, αλλά ακόμα και έτσι κάθε άλλο παρά απλό είναι. Ο τυπικός τρόπος επικοινωνίας του browser με τον server είναι μέσω HTTP requests. Αυτό συμβαίνει κάθε φορά που πατάς ένα link ή κάνεις submit μία φόρμα. Όμως τότε ο server στέλνει μία νέα σελίδα στον browser, με νέο κείμενο, φόρμες, checkboxes κ.λπ. Αυτό σημαίνει ότι ο χρήστης μένει για λίγα δευτερόλεπτα αντιμέτωπος με μία non-responsive οθόνη που αποδομείται, μένει λευκή και χτίζεται από την αρχή. Αυτό υποβαθμίζει την εμπειρία που αποκομίζει ο χρήστης και είναι αυτό που νομίζω ότι θέλεις να αποφύγεις.

Θέλεις όταν συμβαίνει κάτι στον server να ενεργοποιείται ένα checkbox στον browser. Εδώ η απάντηση είναι εύκολη. Αδύνατο. Απλά ο server χάνει την επαφή με τον browser αμέσως μόλις ολοκληρώσει το request. Ο browser ξέρει που είναι ο server. Ο server δεν έχει ιδέα που βρίσκεται ο browser, άρα πώς θα τον ειδοποιήσει? Το μόνο που μπορεί να γίνει είναι να ζητήσεις από τον browser να κάνει περιοδικά requests στον server ώστε να ενημερωθεί για τυχόν νεώτερα. Αυτό σημαίνει ότι ανά τακτά χρονικά διαστήματα (π.χ. 5 λεπτά) η σελίδα θα κάνει αυτόματα ανανέωση ή submit. Μπορείς να φανταστείς τι σημαίνει αυτό για τον ανυποψίαστο χρήστη που θα βλέπει ξαφνικά τη σελίδα να χάνεται από τα μάτια του! Εναλλακτικά μπορεί η ανανέωση της σελίδας να γίνεται με πρωτοβουλία του χρήστη, αν και όταν εκείνος το θελήσει.

Αυτές οι οπτικές παρενέργειες δεν είναι εγγενείς στο πρωτόκολλο HTTP αλλά οφείλονται σε ανεπάρκειες της HTML. Γίνονται εδώ και καιρό κινήσεις για τη βελτίωση της επικοινωνίας browser-server με χρήση XML (DOM3) αλλά προς το παρόν οι browsers δεν υποστηρίζουν αυτές τις βελτιώσεις. Μπορείς να περιμένεις την υλοποίηση αυτών των σχεδίων, ή μπορείς να δοκιμάσεις διάφορες αλχημείες με ό,τι υπάρχει διαθέσιμο σήμερα. Και αυτό δεν είναι τίποτα άλλο από τα IFRAMEs, μικρές σελίδες που εμπεριέχονται μέσα στην κύρια σελίδα και μπορούν να γίνουν submit. Αυτά μπορούν να γίνουν και αόρατα ώστε να μην ενοχλούν το χρήστη με τις ανανεώσεις τους. Παρ'ότι όμως αυτή η μέθοδος μπορεί να λειτουργήσει δεν παύει να είναι ένα hack, καθώς χρησιμοποιεί κάτι για διαφορετικό σκοπό απ'αυτόν για τον οποίο κατασκευάστηκε. Ωστόσο με αρκετή φαντασία και πειραματισμό μπορεί να κάνει τη σελίδα σου να συμπεριφέρεται αρκετά όμοια με μία Windows application.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “ASP, ASP.NET”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης