|
|
Geplaatst op 30-9-2023 22:10:36
|
|
|
|

Eisen: Op basis van de microservice-architectuur die ASP.NET Core gebruikt, zijn sommige services infrastructuur (basisservices) die vaak met een bepaalde dienst moeten communiceren, waarbij hoge prestaties en lage latentie bijzonder belangrijk zijn.
Het gebruik van het MemoryPack-protocol om data te serialiseren heeft twee voordelen ten opzichte van JSON: snelle serialisatie en kleine overdracht van content, wat de prestaties verbetert.
Recensie:
De interface werd 200.000 keer aangeroepen met MemoryPack en JSON, en de resultaten waren als volgt:
MemoryPack duurt 29.895 milliseconden JSON doet er 34.283 milliseconden over
Aangezien ik dat benBij lokale test is de kloof niet erg merkbaarWanneer cross-host calls, velden toenemen en het datavolume toeneemt, denk ik dat het gat duidelijker zal zijn.
ASP.NET Core-configuratie ondersteunt het MemoryPack-protocol
Omdat het object wordt geserialiseerd met het MemoryPack-protocol en vervolgens via het HTTP-protocol wordt verzonden, moet ASP.NET Core het MemoryPack-protocol ondersteunen en wordt een nieuwe MemoryPackInputFormatter-klasse aangemaakt, is de code als volgt:
Vervolgens voegt MvcOptions ondersteuning toe voor het MemoryPack-protocol, met de volgende code:
Definieer een transportobject met de volgende UserProfile-code:
De controllermethode voegt een interface toe met de volgende code:
De console gebruikt Refit om HTTP-verzoeken te verzenden
Een consoleapplicatie gebruikt MemoryPack om objecten te serialiseren en HTTP-verzoeken naar interfaces te sturen, met de volgende code:
De test is als volgt:
Wanneer MemoryPackSerializer wordt gebruikt om een object te serialiseren, geeft de volgende code een foutmelding:
System.Object is niet geregistreerd in deze provider Het zou een MemoryPack-bug moeten zijn, aangepast als volgt:
(Einde)
|
Vorig:Windows 11 Bestandsverkenner hapert, vastzittende oplossingVolgend:.NET/C# nieuw type feature-record
|