|
|
Publicerad den 2023-9-30 22:10:36
|
|
|
|

Krav: Baserat på mikrotjänstearkitekturen som används av ASP.NET Core är vissa tjänster infrastruktur (grundläggande tjänster) som behöver kommunicera ofta med en viss tjänst, och hög prestanda och låg latens är särskilt viktiga.
Att använda MemoryPack-protokollet för att serialisera data har två fördelar jämfört med JSON: snabb serialisering och liten överföring av innehåll, vilket förbättrar prestandan.
Recension:
Gränssnittet anropades 200 000 gånger med MemoryPack och JSON, och resultaten var följande:
MemoryPack tar 29 895 millisekunder JSON tar 34 283 millisekunder
Eftersom jag ärLokalt test, gapet är inte särskilt märkbartNär samtal mellan värdar, fält ökar och datavolymen ökar tror jag att gapet blir mer uppenbart.
ASP.NET Core-konfigurationen stöder MemoryPack-protokollet
Eftersom objektet serialiseras med MemoryPack-protokollet och sedan skickas över HTTP-protokollet, behöver ASP.NET Core stödja MemoryPack-protokollet, och en ny MemoryPackInputFormatter-klass skapas, kodens följer:
Därefter lägger MvcOptions till stöd för MemoryPack-protokollet, med följande kod:
Definiera ett transportobjekt med följande UserProfile-kod:
Controller-metoden lägger till ett gränssnitt med följande kod:
Konsolen använder Refit för att skicka HTTP-förfrågningar
En konsolapplikation använder MemoryPack för att serialisera objekt och skicka HTTP-förfrågningar till gränssnitt, med följande kod:
Testet är följande:
När man använder MemoryPackSerializer för att serialisera ett objekt ger följande kod ett fel:
System.Object är inte registrerat hos denna leverantör Det borde vara en MemoryPack-bugg, modifierad enligt följande:
(Slut)
|
Föregående:Windows 11 Utforskaren hackar, fast lösningNästa:.NET/C# ny funktionsposttyp
|