See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 6049|Vastuse: 4

[Allikas] ASP.NET Core (üheksateist) kasutab BackgroundService'i taustaülesannete täitmiseks

[Kopeeri link]
Postitatud 2023-5-20 22:51:51 | | | |
Nõuded: Projektis on määratletud staatiline logijärjekord ning iga päring võib panna sõnumeid järjekorda ning meil on vaja, et veebileht avaks taustaülesande, et töödelda selle järjekorra sõnumeid.

Läbivaatamine:

Teenus, mis põhineb .NET Core'il Linuxis
https://www.itsvse.com/thread-9447-1-1.html
IHostedService liides

IHostedService liides määratleb majutatud objektide jaoks kaks meetodit:

StartAsync(CancellationToken): Loogika, mida kasutatakse taustaülesannete käivitamiseks.
StopAsync(CancellationToken): Käivitub, kui host sooritab tavapärase väljalülitamise, mis sisaldab loogikat taustaülesannete lõpetamiseks.

Taust Teenistuse baasklass

BackgroundService on baasklass, mida kasutatakse pikaajalise IHostedService rakenduseks, lähtekoodi aadressiks:Hüperlingi sisselogimine on nähtav.



Kutsu ExecuteAsync (CancellationToken), et käivitada taustateenus. Rakendus tagastab ülesande, mis esindab kogu taustateenuse eluiga. Teisi teenuseid ei käivitata enne, kui ExecuteAsync muutub asünkroonseks, näiteks kutsudes ootama. Väldi pikki blokeerivaid initsialiseerimisülesandeid ExecuteAsyncis. StopAsync (CancellationToken) ootab ExecuteAsync lõppu.

Me rakendame taustaülesande, et logi tsüklisse printida, kood on järgmine:

Registreeru teenindusteenuses järgmise koodiga:

Registreerimisrežiim on singleton, nagu alloleval joonisel näidatud:



Alusta projekti tulemustega järgmiselt:



Kasuta ulatusega teenust taustaülesandes

Scope-teenuse kasutamiseks BackgroundService'is loo scope. Vaikimisi ei loo hallatavate teenuste jaoks mingeid ulatusi. Kui kasutad konstruktorit otse skoopitud objekti süstimiseks, on viga järgmine:

Lahendamata erand. System.AggregateException: Mõningaid teenuseid ei saa konstrueerida (viga teenuse kirjelduse 'ServiceType: Microsoft.Extensions.Hosting.IHostedService valideerimisel Eluaeg: Singleton Rakendustüüp: WebApplication2.Worker.TestServiceHostedService': Ei saa kasutada scope-teenust 'WebApplication2.Worker.User' singletonilt ' Microsoft.Extensions.Hosting.IHostedService'.)
Me peame koodi muutma järgmiselt:

Viide:Hüperlingi sisselogimine on nähtav.

(Lõpp)





Eelmine:OData – OData vs GraphQL
Järgmine:LiteDB Embedded Database for .NET õpetus
 Üürileandja| Postitatud 2023-5-20 22:52:45 |


Läbivaatamine

ASP.NET Core (18) Kohanda lihtsat OutputCache väljundvahemälu
https://www.itsvse.com/thread-10583-1-1.html

ASP.NET Core (17) integreerib MiniProfile rakenduse jõudlusanalüüsi
https://www.itsvse.com/thread-10571-1-1.html

ASP.NET Core (16) Sõltub dünaamiliste registreerimisteenuste süstimisest
https://www.itsvse.com/thread-10560-1-1.html

ASP.NET Core (XV) kasutab HTTP-päringute saatmiseks HttpClientit
https://www.itsvse.com/thread-10311-1-1.html

ASP.NET Core (neliteist) põhineb SkiaSharp pildi captcha peal
https://www.itsvse.com/thread-10287-1-1.html

ASP.NET Core (XIII), et määrata, kas tegemist on Ajaxi taotlusega või mitte
https://www.itsvse.com/thread-10284-1-1.html

ASP.NET Core (kaksteist) front-end JS, CSS-i komplekt ja kompressioon
https://www.itsvse.com/thread-10282-1-1.html

ASP.NET Core (XI) lõpp-punkti marsruut lisab vahetarkvara kõigi DI teenuste kuvamiseks
https://www.itsvse.com/thread-10269-1-1.html

ASP.NET Konfiguratsiooni prioriteetide üksikasjalik selgitus Core(10)-s.
https://www.itsvse.com/thread-10265-1-1.html

ASP.NET Põhjalik selgitus Core'i (9) Middleware'i vahendustarkvara kohta.
https://www.itsvse.com/thread-9647-1-1.html

ASP.NET Core Middleware'i üksikasjalik selgitus
https://www.itsvse.com/thread-8126-1-1.html

ASP.NET Swaggeri kasutajaliidese vaikimisi parameetrite auk Core(8)-s.
https://www.itsvse.com/thread-9640-1-1.html

ASP.NET Core (7) Raamistiku lähtekoodi põhjalik analüüs
https://www.itsvse.com/thread-9601-1-1.html

ASP.NET Core (VI) DI saab käsitsi objektide süstimise meetodi
https://www.itsvse.com/thread-9595-1-1.html

ASP.NET Core (viis) põhineb CAP hajutatud tehingutel
https://www.itsvse.com/thread-9593-1-1.html

ASP.NET Core(4) filter ühtlustatud ModelState mudeli valideerimine
https://www.itsvse.com/thread-9589-1-1.html

ASP.NET Core (iii) Dünaamiliselt loo instantse ActivatorUtilities abil
https://www.itsvse.com/thread-9488-1-1.html

ASP.NET Core (2) Taaskäivita rakendus koodi järgi
https://www.itsvse.com/thread-9480-1-1.html

ASP.NET Core (1) kasutab Redis vahemällu salvestamist
https://www.itsvse.com/thread-9393-1-1.html
 Üürileandja| Postitatud 2023-5-29 20:29:45 |
IServiceProvideri saab asendada IServiceScopeFactoryga ning CreateScope'i loomisel pole nende kahe vahel mingit vahet.
 Üürileandja| Postitatud 2023-8-2 19:13:00 |
.NET 6-s kasutatakse uut taimerit, PeriodicTimer,
https://www.itsvse.com/thread-10637-1-1.html
 Üürileandja| Postitatud 2023-8-13 20:13:37 |
StartAsync peaks olema piiratud järgmistegaLühiajalised missioonid, sest majutusteenus onJookse järjekorrasmärklaudÜhtegi teist teenust ei käivitata enne, kui StartAsync on täielikult töösPikaajalised ülesanded tuleks paigutada ExecuteAsync-i

Viide:Hüperlingi sisselogimine on nähtav.

Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com