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

Näkymä: 6049|Vastaus: 4

[Lähde] ASP.NET Core (yhdeksäntoista) käyttää BackgroundServiceä taustatehtävien suorittamiseen

[Kopioi linkki]
Julkaistu 2023-5-20 22:51:51 | | | |
Vaatimukset: Projektissa määritellään staattinen lokijono, ja jokainen pyyntö voi laittaa viestejä jonoon, ja verkkosivuston täytyy avata taustatehtävä viestien käsittelyä varten tässä jonossa.

Arvostelu:

Palvelu, joka perustuu .NET Coreen Linuxissa
https://www.itsvse.com/thread-9447-1-1.html
IHostedService-rajapinta

IHostedService-rajapinta määrittelee kaksi menetelmää isännöityille objekteille:

StartAsync(CancellationToken): Logiikka, jota käytetään taustatehtävien käynnistämiseen.
StopAsync(CancellationToken): Aktivoituu, kun isäntä suorittaa normaalin sammutuksen, sisältäen logiikan taustatehtävien lopettamiseksi.

Tausta Palvelun perusluokka

BackgroundService on perusluokka, jota käytetään pitkään toimineen IHostedServicen, lähdekoodin osoitteen, toteuttamiseen:Hyperlinkin kirjautuminen on näkyvissä.



Kutsu ExecuteAsync (CancellationToken) taustapalvelun suorittamiseksi. Toteutus palauttaa tehtävän, joka edustaa taustapalvelun koko elinkaaren. Muita palveluita ei käynnistetä ennen kuin ExecuteAsync muuttuu asynkroniseksi, esimerkiksi kutsumalla odotus. Vältä pitkien estoaloitustehtävien suorittamista ExecuteAsyncissä. StopAsync (CancellationToken) odottaa ExecuteAsyncin valmistumista.

Toteutamme taustatehtävän, jolla tulostetaan loki silmukassa, koodi on seuraava:

Rekisteröidy palvelupalveluun seuraavalla koodilla:

Rekisteröintimoodi on singleton, kuten alla olevassa kuvassa näkyy:



Aloita projekti tuloksella seuraavasti:



Käytä laajennettua palvelua taustatehtävässä

Scope-palvelun käyttämiseksi BackgroundServicessä luo scope. Oletuksena hallinnoiduille palveluille ei luoda laajuuksia. Jos käytät konstruktoria suoraan injektioidaksesi scope-objektin, virhe on seuraava:

Käsittelemätön poikkeus. System.AggregateException: Joitakin palveluita ei voida rakentaa (Virhe palvelukuvauksen validoinnissa 'ServiceType: Microsoft.Extensions.Hosting.IHostedService Elinikä: Singleton Toteutustyyppi: WebApplication2.Worker.TestServiceHostedService': Ei voi käyttää scoped-palvelua 'WebApplication2.Worker.User' singletonilta Microsoft.Extensions.Hosting.IHostedService'.)
Meidän täytyy muokata koodia seuraavasti:

Viittaus:Hyperlinkin kirjautuminen on näkyvissä.

(Loppu)





Edellinen:OData – OData vs GraphQL
Seuraava:LiteDB Embedded Database for .NET -opas
 Vuokraisäntä| Julkaistu 2023-5-20 22:52:45 |


arvostelu

ASP.NET Core (18) Räätälöi yksinkertainen OutputCache-ulostulovälimuisti
https://www.itsvse.com/thread-10583-1-1.html

ASP.NET Core (17) integroi MiniProfile-sovelluksen suorituskyvyn analyysin
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Core (16) Riippuvainen dynaamisten rekisteröintipalveluiden injektioinnista
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) käyttää HTTP-pyyntöjen lähettämiseen HttpClientia
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (neljätoista) perustuu SkiaSharp-kuva-captchaan
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII) selvittääkseen, onko kyseessä Ajaxin pyyntö vai ei
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (kaksitoista) etupään JS, CSS-paketointi ja pakkaus
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET Core (XI) -päätepistereitti lisää middleware-ohjelmiston näyttämään kaikki DI-palvelut
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Yksityiskohtainen selitys konfiguraatioprioriteeteista Core(10):ssä.
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Yksityiskohtainen selitys Coren Middleware-middlewaresta (9).
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Yksityiskohtainen selitys Core Middlewaresta
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET Swaggerin käyttöliittymän oletusparametrien pitti Core(8):ssa.
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Ydin (7) Perusteellinen analyysi kehyksen lähdekoodista
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI saa manuaalisesti menetelmän objektien injektioon
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (viisi) perustuu CAP:n hajautettuihin transaktioihin
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) -suodatin yhdisti ModelState-mallin validoinnin
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Luo instansseja dynaamisesti ActivatorUtilitiesin avulla
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Ydin (2) Käynnistä sovellus uudelleen koodin mukaan
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) käyttää Redis-välimuistia
https://www.itsvse.com/thread-9393-1-1.html
 Vuokraisäntä| Julkaistu 2023-5-29 klo 20:29:45 |
Voit korvata IServiceProviderin IServiceScopeFactorylla, eikä CreateScopea luodessa ole eroa.
 Vuokraisäntä| Julkaistu 2023-8-2 klo 19:13:00 |
.NET 6:ssa käytetään uutta ajastinta, PeriodicTimer,
https://www.itsvse.com/thread-10637-1-1.html
 Vuokraisäntä| Julkaistu 2023-8-13 20:13:37 |
StartAsync tulisi rajoittaaLyhytaikaiset tehtävät, koska hosting-palvelu onSuoritetaan peräkkäinkohdeMuita palveluita ei käynnistetä ennen kuin StartAsync on täysin käynnissäPitkäaikaiset tehtävät tulisi sijoittaa ExecuteAsynciin

Viittaus:Hyperlinkin kirjautuminen on näkyvissä.

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