|
|
Δημοσιεύτηκε στις 2023-9-30 22:10:36
|
|
|
|

απαιτήσεις: Με βάση την αρχιτεκτονική μικροϋπηρεσιών που χρησιμοποιεί το ASP.NET Core, ορισμένες υπηρεσίες είναι υποδομές (βασικές υπηρεσίες) που πρέπει να επικοινωνούν συχνά με μια συγκεκριμένη υπηρεσία και η υψηλή απόδοση και η χαμηλή καθυστέρηση είναι ιδιαίτερα σημαντικές.
Η χρήση του πρωτοκόλλου MemoryPack για τη σειριοποίηση δεδομένων έχει δύο πλεονεκτήματα σε σχέση με τη χρήση JSON: γρήγορη σειριοποίηση και μικρή μεταφορά περιεχομένου, γεγονός που βελτιώνει την απόδοση.
Αναθεώρηση:
Η διεπαφή κλήθηκε 200.000 φορές χρησιμοποιώντας MemoryPack και JSON και τα αποτελέσματα ήταν τα εξής:
Το MemoryPack διαρκεί 29.895 χιλιοστά του δευτερολέπτου Το JSON διαρκεί 34,283 χιλιοστά του δευτερολέπτου
Αφού είμαιΤοπική δοκιμή, το κενό δεν είναι πολύ αισθητόΌταν οι κλήσεις μεταξύ κεντρικών υπολογιστών, τα πεδία αυξάνονται και ο όγκος δεδομένων αυξάνεται, πιστεύω ότι το χάσμα θα είναι πιο εμφανές.
ASP.NET Η διαμόρφωση πυρήνα υποστηρίζει το πρωτόκολλο MemoryPack
Δεδομένου ότι το αντικείμενο σειριοποιείται χρησιμοποιώντας το πρωτόκολλο MemoryPack και στη συνέχεια αποστέλλεται μέσω του πρωτοκόλλου HTTP, ASP.NET Core πρέπει να υποστηρίζει το πρωτόκολλο MemoryPack και δημιουργείται μια νέα κλάση MemoryPackInputFormatter, ο κώδικας έχει ως εξής:
Στη συνέχεια, το MvcOptions προσθέτει υποστήριξη για το πρωτόκολλο MemoryPack, με τον ακόλουθο κώδικα:
Ορίστε ένα αντικείμενο μεταφοράς με τον ακόλουθο κώδικα UserProfile:
Η μέθοδος ελεγκτή προσθέτει μια διεπαφή με τον ακόλουθο κώδικα:
Η κονσόλα χρησιμοποιεί το Refit για την αποστολή αιτημάτων HTTP
Μια εφαρμογή κονσόλας χρησιμοποιεί το MemoryPack για τη σειριοποίηση αντικειμένων και την αποστολή αιτήσεων HTTP σε διεπαφές, με τον ακόλουθο κώδικα:
Το τεστ έχει ως εξής:
Όταν χρησιμοποιείτε το MemoryPackSerializer για τη σειριοποίηση ενός αντικειμένου, ο ακόλουθος κώδικας θα εμφανίσει ένα σφάλμα:
Το System.Object δεν είναι εγγεγραμμένο σε αυτόν τον πάροχο Θα πρέπει να είναι ένα σφάλμα MemoryPack, τροποποιημένο ως εξής:
(Τέλος)
|
Προηγούμενος:Τραυλισμός της Εξερεύνησης αρχείων των Windows 11, κολλημένη λύσηΕπόμενος:.NET/C# νέος τύπος καρτέλας δυνατότητας
|