Αντιπροσωπεία.BeginInvokeΜSK1 και μνήμη διαρροές...
Μου αρέσει το ' να εμπλέκεται ολοένα και περισσότερο στον κόσμο της Ασυκρόνης και έχω κάνει ένα κομμάτι από την κατεστραμμένη γύρω σε μερικά από τα πτώματα του multi-μεταβατώντας στο . Έχω συναντήσει μια ενδιαφέρουσα σήμερα που περιλαμβάνει τη χρήση του BeginInvoke χωρίς ένα αντίστοιχο End Invoke όταν χρησιμοποιούν αντιπροσώπους...μάντι βιβλία (συμπεριλαμβανομένου εκείνου που μου άρεσε'μ χρησιμοποιώντας το πιο σωστά τώραΜSK3μουν το εξαιρετικό Προγραμματισμός .NET Συστατικά από Juval Lowy) αναφέρει ότι ένας καλός τρόπος για να πυρκαγιά γεγονότα ασύχρονες ΜSK1 διατηρεί ΜSK2 διατηρούν ., δεν μπλοκάρει ) είναι απλό κλήση BeginInvoke στο αντιπροσωπευτικό Πράγματι, το - φαίνεται αρκετά εύκολο Δυστυχώς το , θα ήθελε να διαβάσει γύρω από ένα κομμάτι του , ίσως ανακάλυψα από τον Mike Woodring που περιέχει αυτή την δήλωση: "Αρχίζοντας με την ΜSK1 ανακοινώθηκε κυκλοφορία του . ανακοινωμένο Πλαίσιο , ανακοινώνει τα SDK Docs τώρα φέρει μια προφυλάκιση που επιτρέπει να καλέσετε EndInvoke σε αντιπροσώπους σας ανακοινώνεται' αποκαλεί BeginInvoka για να αποφύγετε δυνητικές διαρροές ανακοινοποιείται. αυτό σημαίνει ότι δεν μπορείτε απλώς ΜSK6 ανακοινάται ανακοινότητα- ανακοινήθηκαν και ανακοινούσε η - ανέφερε ένα κλήμα στην BeginINVoke χωρίς τον κίνδυνο εκτέλεσης του κινδύνου προβλημάτων ανακάλυψης Τώρα, μπορώΜSK1 βρήκε το κομμάτι στα δοκ που λέει ότι, αλλά Άλλο άρθρο στην ΑΥΤΟΚΙΝΗΤΗΣΑΡΧΙΚΟ αναφέρουμε το ίδιο πράγμα για την ... αναφέρει καλά ότι η , βασίζεται σε αυτά τα στοιχεία για τη , αναφέρει ότι θα φαίνεται να είναι μια καλή ιδέα να αποφευχθεί αυτή η δυνητική διαρροή για την , αναφέρει τυχερά Ο Μιχαήλ αναφέρει τα πράγματα Έχει μια πολύ μικρή κατηγορία βοηθών που υποστηρίζει την 'Fire και Forget idiomΜSK1 - νεκρός εύκολοΜSK1 τώρα μπορώ να έχω ωραία φωτιά και να ξεχάσω τις κλήσεις χωρίς να ανησυχώ για απρόβλεπτες διαρροές
UPDATE: Βρέθηκε η αναφορά του docΜSK1 αν έχετε MSDN αυτό' ΕΔΩ, αν δεν είναι η έκδοση του -line ΕΔΩ