|
|
Veröffentlicht am 30.9.2023, 22:10:36
|
|
|
|

Anforderungen: Basierend auf der von ASP.NET Core verwendeten Microservice-Architektur sind einige Services Infrastruktur (Basisdienste), die häufig mit einem bestimmten Dienst kommunizieren müssen, wobei hohe Leistung und geringe Latenz besonders wichtig sind.
Die Nutzung des MemoryPack-Protokolls zur Serialisierung von Daten hat zwei Vorteile gegenüber JSON: schnelle Serialisierung und eine kleine Übertragung von Inhalten, was die Leistung verbessert.
Rezension:
Die Schnittstelle wurde 200.000 Mal mit MemoryPack und JSON aufgerufen, und die Ergebnisse waren wie folgt:
MemoryPack benötigt 29.895 Millisekunden JSON benötigt 34.283 Millisekunden
Da ich es binLokaler Test, die Lücke ist nicht sehr auffälligWenn Cross-Host-Anrufe, Felder steigen und das Datenvolumen steigt, glaube ich, dass die Lücke offensichtlicher wird.
ASP.NET Core-Konfiguration unterstützt das MemoryPack-Protokoll
Da das Objekt mit dem MemoryPack-Protokoll serialisiert und dann über das HTTP-Protokoll gesendet wird, muss ASP.NET Core das MemoryPack-Protokoll unterstützen und eine neue MemoryPackInputFormatter-Klasse erstellt wird, sieht der Code wie folgt aus:
Dann fügt MvcOptions Unterstützung für das MemoryPack-Protokoll hinzu, mit folgendem Code:
Definiere ein Transportobjekt mit folgendem UserProfile-Code:
Die Controller-Methode fügt eine Schnittstelle mit folgendem Code hinzu:
Die Konsole verwendet Refit, um HTTP-Anfragen zu senden
Eine Konsolenanwendung verwendet MemoryPack, um Objekte zu serialisieren und HTTP-Anfragen an Schnittstellen zu senden, mit folgendem Code:
Der Test ist wie folgt:
Wenn man MemoryPackSerializer verwendet, um ein Objekt zu serialisieren, liefert der folgende Code einen Fehler:
System.Object ist nicht in diesem Anbieter registriert Es sollte ein MemoryPack-Fehler sein, der wie folgt modifiziert wurde:
(Ende)
|
Vorhergehend:Windows 11 File Explorer ruckelt, festgefahrene LösungNächster:.NET/C# neuer Feature-Datensatz
|