Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 61378|Atbildi: 6

[ASP.NET] asp.net fona uzdevumu Hangfire ietvara apmācība

[Kopēt saiti]
Publicēts 24.05.2019 09:51:10 | | | |
Hangfire darbojas ar lielāko daļu .NET platformu:.NET Framework 4.5 vai jaunāka versija, .NET Core 1.0 vai jaunāka versija, jebkas, kas saistīts ar . Ar NET Standard 1.3 saderīga platforma. To var integrēt ar gandrīz jebkuru lietojumprogrammu ietvaru, tostarp ASP.NET, ASP.NET Core, konsoles lietojumprogrammām, Windows pakalpojumiem, WCF un kopienas draiveriem, piemēram, Nancy vai ServiceStack.

Piemērojamie scenāriji:Fons nosūta e-pasta ziņojumu asinhroni un pēc iespējas ātrāk atgriež atbildi lietotājam. Plānota uzdevumu izpilde, cikliska uzdevumu izpilde, laikietilpīgu uzdevumu asinhrona izpilde, A uzdevuma izpilde un pēc tam B uzdevumu izpilde, kā arī uzdevumu sērijveida izpilde.
Kā es to darīju:

c# iekapsulē universālu QueueHelper rindu
https://www.itsvse.com/thread-5029-1-1.html
(Avots: Architect_Programmer)


Fona apstrādi var ievietot ASP.NET lietojumprogrammā, neizmantojot citus procesus, piemēram, Windows pakalpojumus. Hangfire kods ir gatavs izvietošanaiNeparedzēta procesa pārtraukšana, lietojumprogrammu pūla pārstrāde un restartēšana。 Sakarā ar lietošanuPastāvīga uzglabāšana, līdz ar to jūsNeviens fona darbs netiek zaudēts

Pirmkārt, atveidojumi ir šādi:




Iepriekš redzamais attēls ir Hangfire Dashboard informācijas panelis, kas ir ļoti noderīgs un var pārbaudīt fona uzdevumu statusu, un tas ir arī ļoti foršs, tāpēc tas ir jākonfigurē.

Informācijas paneļa lietotāja interfeisam ir nepieciešama startēšanas klase tikai tad, jaKonfigurējot Hangfire ar startēšanas klasi,Informācijas paneļa lietotāja interfeissTo var izmantot

Sākumā es nekonfigurēju Hangfire informācijas paneļa informācijas paneli un saņēmu šādu kļūdu:

Mēģinot ielādēt programmu, radās šādas kļūdas.
- Nav atrasta montāža, kas satur OwinStartupAttribute.
- Nav atrasta montāža, kas satur startēšanu vai [AssemblyName]. Starta klase.
Lai atspējotu OWIN startēšanas atklāšanu, pievienojiet appSetting owin:AutomaticAppStartup ar vērtību "false" savā web.config.
Lai norādītu OWIN startēšanas montāžu, klasi vai metodi, pievienojiet appSetting owin:AppStartup ar pilnībā kvalificētu startēšanas klases vai konfigurācijas metodes nosaukumu savā web.config.



Šķīdums:

Izmantojot Global.asax.cs inicializāciju, iespējams, būs jāatspējo arī OWIN startēšanas klases noteikšana.

Mēs sākam nonākt pie punkta, apmācība sākas:

1: Sistēmai jāatbilst ugunsgrēka vajadzībām,Mans projekts ir .net 4.6.2, Tātad, jūs varat instalēt hangfire normāli, .net 4.0 projektiem nav jāmēģina, netiek atbalstīts!

2: Nuget komanda ir šāda:

3: OWIN Startup klase ir paredzēta, lai tīmekļa lietojumprogrammu sāknēšanas loģika būtu vienuviet. Programmā Visual Studio 2013 to var pievienot, ar peles labo pogu noklikšķinot uz projekta un izvēloties izvēlnes elementu Pievienot / OWIN startēšanas klasi. Kā parādīts zemāk:



Izveidojiet jaunu Startup.cs failu projekta saknes direktorijā.

4: KonfigurācijaDatu bāzes savienojuma virkne, SQL Server 2012 versiju, ko es izmantoju šeit, konfigurācija web.config ir šāda:

5: Konfigurējiet Hangfire informācijas paneli, lai piekļūtu filtram, izveidojiet jaunuHangfireAuthorizationFilter.csFails.

Pēc noklusējuma ir atļauta tikai vietējā piekļuve Hangfire informācijas panelim. Informācijas paneļa autorizācija ir jākonfigurē, lai atļautu attālo piekļuvi.


6: Konfigurējiet Startup.cs klasi, kods ir šāds:


7: Sāciet tīmekļa vietnes projektu

Palaidiet lietojumprogrammu F5, nospiežot atkļūdošanas režīmu (tas prasa aplūkot Debug.WriteLine metodes izvadi). Pēc tam pārbaudiet šo ziņojumu izvades logā, lai redzētu, vai fona apstrāde ir veiksmīgi sākusies.



Tajā pašā laikā datu bāzē ir arī vēl 11 tabulas, lai nodrošinātu, ka visus uzdevumus var izpildīt normāli, un uzdevumi netiks zaudēti IIS atgūšanas vai procesa restartēšanas laikā, kā parādīts zemāk redzamajā attēlā:



http:// <your-web-app>/ ugunsgrēks

Apmeklējiet informācijas paneļa lietotāja interfeisa URL, lai skatītu atveidojumu raksta augšdaļā.

Pievienotais lietojums

Ugunsgrēks un aizmirstība (publicēt/abonēt)

Šis ir galvenais fona uzdevuma tips, ko apstrādā pastāvīgā ziņojumu rinda. Izveidojot publicēšanas/abonēšanas uzdevumu, uzdevums tiks saglabāts noklusējuma rindā (noklusējuma rinda ir "Noklusējums", bet tiek atbalstītas vairākas rindas). Vairāki speciāli darbinieki klausās šo rindu un iegūst no tās uzdevumus un izpilda uzdevumus.


Kavēšanās

Ja vēlaties aizkavēt noteiktu uzdevumu izpildi, varat izmantot šādus uzdevumus. Pēc noteikta aizkaves laika uzdevums tiek ievietots rindā un izpildīts kā publicēšanas/abonēšanas uzdevums.

Cilpa

Lai izsauktu metodi pēc periodiskuma (stundas, dienas utt.), izmantojiet klasi RecurringJob. Sarežģītos scenārijos CRON izteiksmes var izmantot, lai norādītu ieplānoto uzdevumu apstrādes laiku.


Nepārtraukts

Nepārtrauktība ļauj definēt sarežģītas darbplūsmas, sasaistot vairākus fona uzdevumus.


Oficiālās dokumentācijas saite:Hipersaites pieteikšanās ir redzama.

(Beigas)






Iepriekšējo:Video datu algoritms kopīgo piezīmes
Nākamo:Pieprasījums pārtraukts: neizdevās izveidot SSL/TLS droša kanāla risinājumu
Publicēts 24.05.2019 10:12:25 |
Šo ziņu pēdējo reizi rediģēja YuAn 2019-5-24 10:20

Jauks raksts iemācīts
Publicēts 24.05.2019 10:12:46 |
Atbalsts Atbalsts
Publicēts 17.09.2021 21:59:44 |

Atbalsts Atbalsts
Publicēts 26.09.2022 22:20:45 |
Atbalsts, uzziniet, kā to izmantot
Publicēts 12.11.2022 19:02:23 |

Atbalsts, uzziniet, kā to izmantot
Publicēts 25.03.2023 09:45:31 |

Atbalsts, uzziniet, kā to izmantot
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com