Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 4002|Vastaus: 2

[Lähde] ASP.NET Core (24) perustuu Refit, MemoryPackin huippusuorituskyvyn viestintään

[Kopioi linkki]
Julkaistu 2023-9-30 22:10:36 | | | |
Vaatimukset: ASP.NET Coren käyttämän mikropalveluarkkitehtuurin perusteella jotkut palvelut ovat infrastruktuuria (peruspalveluita), joiden täytyy kommunikoida usein tietyn palvelun kanssa, ja korkea suorituskyky sekä matala viive ovat erityisen tärkeitä.

MemoryPack-protokollan käytöllä datan sarjoittamiseen on kaksi etua verrattuna JSON:iin: nopea sarjoittaminen ja pieni sisällön siirto, mikä parantaa suorituskykyä.

Arvostelu:

MessagePackin ja protobuf-netin suorituskykymittarit
https://www.itsvse.com/thread-10655-1-1.html

.net/c# Xml, Json, Hessian, Protokollapuskurien sarjoittamisen vertailu
https://www.itsvse.com/thread-4675-1-1.html

Rajapintaa kutsuttiin 200 000 kertaa MemoryPackin ja JSONin avulla, ja tulokset olivat seuraavat:



MemoryPack vie 29 895 millisekuntia
JSON kestää 34 283 millisekuntia

Koska olenPaikallisessa testissä ero ei ole kovin havaittavissaKun isäntäristiinpuhelut lisääntyvät, kentät kasvavat ja datamäärä kasvaa, uskon, että ero tulee olemaan selvempää.

ASP.NET Core-konfiguraatio tukee MemoryPack-protokollaa

Koska objekti sarjoitetaan MemoryPack-protokollalla ja lähetetään HTTP-protokollan kautta, ASP.NET Coren täytyy tukea MemoryPack-protokollaa ja luodaan uusi MemoryPackInputFormatter -luokka, koodi on seuraava:

Sitten MvcOptions lisää tuen MemoryPack-protokollalle seuraavalla koodilla:

Määrittele kuljetusobjekti seuraavalla UserProfile-koodilla:


Ohjainmenetelmä lisää rajapinnan seuraavalla koodilla:

Konsoli käyttää Refitiä HTTP-pyyntöjen lähettämiseen

Konsolisovellus käyttää MemoryPackia olioiden sarjoittamiseen ja HTTP-pyyntöjen lähettämiseen rajapinnoille seuraavalla koodilla:

Testi on seuraava:



Kun käytetään MemoryPackSerializeria objektin sarjoittamiseen, seuraava koodi antaa virheen:


System.Object ei ole rekisteröity tähän palveluntarjoajaan

Sen pitäisi olla MemoryPack-bugi, muokattuna seuraavasti:

(Loppu)





Edellinen:Windows 11 File Explorerin nykiminen, jumiratkaisu
Seuraava:.NET/C# uusi ominaisuustietuetyyppi
 Vuokraisäntä| Julkaistu 2023-10-1 08:06:35 |
System.Object ei ole rekisteröity tähän palveluntarjoajaan

Tämä ongelma koskee Refitiä, seuraavasti:




 Vuokraisäntä| Julkaistu 2024-12-31 21:47:28 |
Lataa tiedosto Refitillä saadaksesi vastauksen (Huom:Koko ladattu tiedostovirta ei ladata muistiin



Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com