Απαιτήσεις: Μια μέθοδος NET/C# πρέπει να χρησιμοποιεί το System.Diagnostics.Process για να καλέσει άλλες λειτουργίες προγράμματος, εάν πρόκειται για πρόγραμμα άλλου κατασκευαστήΗ συνεχής έλλειψη ανταπόκρισης μπορεί να οδηγήσει σε μεθόδους που πάντα περιμένουνΕπειδή ένα πρόγραμμα τρίτου κατασκευαστή μπορεί να απαιτεί την εισαγωγή μιας εντολής, η μέθοδος δεν θα ανταποκριθεί όσο καιρό κι αν περιμένει, με αποτέλεσμα το πρόγραμμα να μην μπορεί να συνεχίσει να εκτελείται κανονικά.
Όσον αφορά τον ορισμό ενός χρονικού ορίου για μια μέθοδο, θα πρέπει να λάβετε υπόψη μερικά πράγματα:
- Η μέθοδος έχει λήξει, αλλά μπορεί ακόμα να επιβληθεί
- Εάν το χρονικό όριο συνεχιστεί, θα γεμίσει το νήμα; Πλήρης μνήμη; Πλήρης CPU;
- Η μέθοδος έληξε, πώς να τερματίσετε με χάρη την εκτέλεση της μεθόδου
Είδα κάποιο κώδικα στο Διαδίκτυο, όπως για το χρονικό όριο εργασίας, αν και το αποτέλεσμα επιτεύχθηκε, αλλάΗ εργασία θα συνεχίσει να εκτελείται, το οποίο μπορεί να καταναλώνει συνεχώς πόρους, προκαλώντας τη διακοπή λειτουργίας του προγράμματος.
Ο κωδικός έχει ως εξής:
Εξετάζοντας το θέμα, αυτό το άρθρο ορίζει το χρονικό όριο για τη μέθοδοΣτοχευμένο και ακατάλληλο για όλες τις μεθόδους, απλώς για να δώσετε μια ιδέα, τροποποιήστε την σύμφωνα με την πραγματική σας κατάσταση.
Η μέθοδός μας καλεί το System.Diagnostics.Process να ξεκινήσει ένα πρόγραμμα τρίτου κατασκευαστή και μόλις λήξει το χρονικό όριο της μεθόδου, θέλουμε να σκοτώσουμε τη διαδικασία που τερματίζει το πρόγραμμα τρίτου μέρους! Ο κωδικός έχει ως εξής:
(Τέλος)
|