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

Näkymä: 20310|Vastaus: 0

[ASP.NET] ASP.NET käyttää asynkronisia ohjaimia MVC:ssä

[Kopioi linkki]
Julkaistu 1.4.2018 15.20.59 | | |
Lankapooli

Olen aina halunnut kirjoittaa projektin uudelleen asynkroniseksi, mutta ASP.NETMVC3 on liian kömpelö kirjoittaa, .NET 4.5 ja ASP.NET MVC-koodi on suhteellisen yksinkertainen, MS tuntuu aina pitäneen tästä, jokainen kypsä juttu, sen täytyy kehittää useita versioita standardisoituakseen. ASP.NET miksi MVC:ssä täytyy käyttää asynkronista, IIS:llä on säieallas käyttäjäpyyntöjen käsittelyyn, mutta kun uusi pyyntö tulee, poolin säikeet ajoitetaan käsittelemään pyyntöä, mutta kun samanaikaisuus on korkea, poolin säikeet eivät enää pysty täyttämään niin monia pyyntöjä, ja jokainen poolin säie on varattu, kun kyse käsitellään, säie estää ja säie ei voi tarjota palveluita toiselle pyynnölle, jos pyyntöjono on täynnä, verkko Palvelin hylkää pyynnön ja on HTTP 503:n varattutilassa. Jos kyseessä on korkea viive, kuten verkkotoiminnot, useimmat näistä säikeistä vain odottavat tilaa eivätkä tee suurimman osan ajasta mitään, tällaiset säikeet voivat käyttää asynkronista ohjelmointia hyödyntääkseen sitä paremmin.

Asynkroninen prosessointi

Esimerkiksi, jos pyyntö luo verkkokutsun, jonka suorittaminen kestää kaksi sekuntia, pyyntö tehdäänSen suorittaminen sekä synkronisesti että asynkronisesti kestää kaksi sekuntia。 MuttaAsynkronisen puhelun aikana palvelin ei estä vastausta muihin pyyntöihin odottaessaan ensimmäisen pyynnön valmistumista。 Siksi, kun paljon pyyntöjä kutsuu pitkäaikaisia operaatioita, asynkroniset pyynnöt voivat estää pyyntöjen jonottamisen. .NET 4.5:ssä maksimisäikepooli on 5000, ja await- ja async-avainsanat on lisätty myös .NET 4.5:een asynkronisen ohjelmoinnin helpottamiseksi.

Synkroninen vai asynkroninen (ote MSDN:stä)

  • Tyypillisesti synkronointiputkia käytetään, kun seuraavat ehdot täyttyvät:
  • Yksinkertainen käyttö tai lyhyt käyttöaika.
  • Yksinkertaisuus on tärkeämpää kuin tehokkuus.
  • Tämä operaatio on ensisijaisesti suorittimen toimintoja, ei niinkään toimintoja, joissa on paljon levy- tai verkkokuormitusta. Asynkronisen toimintatavan käyttäminen prosessorin rajoittamissa operaatioissa ei tuota hyötyä ja aiheuttaa myös enemmän ylikuormitusta.

Yleisesti ottaen asynkronisia putkistoja käytetään, kun seuraavat ehdot täyttyvät:

  • Operaatiot ovat verkko- tai I/O-sidottuja, eivätkä CPU-sidottuja.
  • Testit ovat osoittaneet, että estotoiminnot ovat pullonkaula sivuston suorituskyvylle, ja käyttämällä asynkronisia menetelmiä näissä estokutsuissa IIS voi palvella enemmän pyyntöjä.
  • Rinnakkaisuus on tärkeämpää kuin koodin yksinkertaisuus.
  • Haluat tarjota mekanismin, jonka avulla käyttäjät voivat peruuttaa pitkäaikaiset pyynnöt.

ASP.NET käyttää asynkronisia ohjaimia MVC:ssä






Edellinen:WPF mvvm framework stylet-asiakirjakäännös ja oppimateriaalit
Seuraava:[Windows API] Code Assistant for C# Query API [lähdekoodin kanssa]
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