Zahteve: Na podlagi arhitekture mikrostoritev, ki jo uporablja ASP.NET Core, so nekatere storitve infrastruktura (osnovne storitve), ki morajo pogosto komunicirati z določeno storitvijo, pri čemer sta visoka zmogljivost in nizka zakasnitev še posebej pomembni.
Uporaba protokola MemoryPack za serializacijo podatkov ima dve prednosti pred uporabo JSON: hitro serializacijo in majhen prenos vsebin, kar izboljša zmogljivost.
Pregled:
Vmesnik je bil klican 200.000-krat z uporabo MemoryPacka in JSON-a, rezultati pa so bili naslednji:
MemoryPack potrebuje 29.895 milisekund JSON traja 34.283 milisekund
Ker semPri lokalnem testu vrzel ni zelo opaznaKo se klici med gostitelji, polja povečajo in količina podatkov poveča, verjamem, da bo vrzel bolj očitna.
ASP.NET konfiguracija jedra podpira protokol MemoryPack
Ker je objekt serializiran z uporabo protokola MemoryPack in nato poslan preko HTTP protokola, ASP.NET mora Core podpirati protokol MemoryPack in se ustvari nov razred MemoryPackInputFormatter, je koda naslednja:
Nato MvcOptions doda podporo za protokol MemoryPack z naslednjo kodo:
Definirajte transportni objekt z naslednjo kodo UserProfile:
Metoda krmilnika doda vmesnik z naslednjo kodo:
Konzola uporablja Refit za pošiljanje HTTP zahtevkov
Konzolna aplikacija uporablja MemoryPack za serializacijo objektov in pošiljanje HTTP zahtevkov vmesnikom, z naslednjo kodo:
Test je naslednji:
Pri uporabi MemoryPackSerializer za serializacijo objekta bo naslednja koda prikazala napako:
System.Object ni registriran pri tem ponudniku To bi morala biti napaka MemoryPack, spremenjena na naslednji način:
(Konec)
|