Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 61378|Válasz: 6

[ASP.NET] asp.net háttérfeladat hangfire keretrendszer oktató

[Linket másol]
Közzétéve 2019. 05. 24. 9:51:10 | | | |
A Hangfire a legtöbb .NET platformon működik:.NET Framework 4.5 vagy újabb, .NET Core 1.0 vagy újabb, bármi, ami kapcsolódik . NET Standard 1.3 kompatibilis platform. Szinte bármilyen alkalmazáskeretrendszerrel integrálhatod, beleértve az ASP.NET-t, ASP.NET Core-t, konzolalkalmazásokat, Windows szolgáltatásokat, WCF-et és közösségi drivereket, mint a Nancy vagy a ServiceStack.

Alkalmazható forgatókönyvek:A háttér aszinkron módon küldi az e-mailt, és a lehető leghamarabb visszaadja a választ a felhasználónak. Ütemezett feladatok végrehajtása, ciklikus végrehajtás, időigényes feladatok aszinkron végrehajtása, az A feladat végrehajtása, majd a B feladatok végrehajtása, valamint a feladatok köteges végrehajtása.
Hogyan csináltam régen:

c# egy univerzális QueueHelper queue-t kapszulál
https://www.itsvse.com/thread-5029-1-1.html
(Forrás: Architect_Programmer)


A háttérfeldolgozást ASP.NET alkalmazásba lehet beépíteni anélkül, hogy más folyamatokat, például Windows szolgáltatásokat használnánk. Hangfire kódja készen áll a bevezetésreVáratlan folyamatfelzárás, alkalmazáskészlet újrahasznosítás és újraindítás。 A használat miattÁllandó tárolás, ezért teSemmilyen háttérállás nem veszik el

Először is, a képek a következők:




A fenti kép a Hangfire Dashboard irányítópultja látható, ami nagyon hasznos, és képes ellenőrizni a háttérfeladatok állapotát, ráadásul nagyon menő, ezért be kell állítani.

A dashboard UI-hoz startup osztály szükséges, csak akkor, haAmikor a Hangfire-t az Startup osztállyal konfiguráljuk,Dashboard UIHasználható

Eleinte nem konfiguráltam a Hangfire Dashboard irányítópultját, és a következő hibát kaptam:

A következő hibák az alkalmazás betöltése közben jelentkeztek.
- Nem találtak assembly egy OwinStartupAttribute-t.
- Nem találtak assemblert, amely tartalmazna Startupot vagy [AssemblyName]-et. Startup tanfolyam.
Az OWIN indítási felfedezésének letiltásához add hozzá az appSetting owin:AutomaticAppStartup mappát "false" értékkel a web.config-ban.
Az OWIN indítási Assembly, Class vagy Method megadásához add hozzá az appSetting owin:AppStartup címet a teljes minősített startup osztály vagy konfigurációs módszer nevével a web.config-ban.



Megoldás:

Global.asax.cs-alapú inicializáció esetén előfordulhat, hogy az OWIN indítási osztályfelismerését is le kell tiltani.

Kezdjük eljutni a lényegre, kezdődik a tutorial:

1: A keretrendszernek meg kell felelnie a hangfire igényeinek,A projektem .net 4.6.2, Tehát a hangfire-ot normálisan telepítheted, a .net 4.0 projekteket nem kell próbálni, nem támogatva!

2: A nuget parancs a következő:

3: Az OWIN Startup osztály úgy lett tervezve, hogy a webalkalmazás bootstrapping logikáját egy helyen tartsa. A Visual Studio 2013-ban hozzáadhatod a projekt jobb oldali kattintásával, majd az Add/OWIN Startup Class menüpont kiválasztásával. Ahogy az alábbiakban látható:



Hozz létre egy új Startup.cs fájlt a projekt gyökérkönyvtárában.

4: Konfigurációadatbázis-kapcsolati string, az SQL Server 2012 verzió, amit itt használok, a web.config konfigurációja a következő:

5: Konfiguráld a Hangfire Dashboard-t, hogy hozzáférjen a szűrőhöz, hozz létre egy újatHangfireAuthorizationFilter.csFájl.

Alapértelmezés szerint csak a Hangfire Dashboard helyi hozzáférése engedélyezett. A vezérlőpult engedélyezését úgy kell konfigurálni, hogy lehetővé tegye a távoli hozzáférést.


6: Konfiguráljuk a Startup.cs osztályt, a kód a következő:


7: Indítson weboldal projektet

Futtasd az F5 alkalmazást a debug mód megnyomásával (ehhez a Debug.WriteLine metódus kimenetét kell megnézni). Ezután nézd meg a következő üzenetet a Kimenet ablakban, hogy megnézd, sikeresen elindult-e a háttérfeldolgozás.



Ugyanakkor az adatbázisban további 11 tábla is található, hogy minden feladat normálisan lehessen végrehajtani, és a feladatok ne veszjenek el IIS helyreállítás vagy folyamat újraindítása esetén, ahogy az alábbi ábrán látható:



http://<your-web-app>/hangfire

Látogasd meg a Dashboard UI URL-jét, hogy lásd a cikk tetején lévő renderelést.

Csatolt használat

Tűz és felejtsd el (publikál/feliratkozz)

Ez a fő háttérfeladat, amelyet a tartós üzenetsorban kezel. Amikor létrehozol egy publish/subscribe feladatot, a feladat elmentődik az alapértelmezett sorba (az alapértelmezett sor "Default", de több sor is támogatott). Több elkötelezett dolgozó hallgatja ezt a sort, betölti onnan a feladatokat, és befejezi a feladatokat.


Késés

Ha bizonyos feladatok végrehajtását késleltetni szeretnéd, a következő feladatokat használhatod. Egy adott késleltetés után a feladatot sorba állítják és végrehajtják, mint egy publish/subscribe feladat.

Kör

A módszert periodiitás szerint (órák, napok stb.) nevezni a RecurringJob osztályt használjuk. Komplex helyzetekben CRON kifejezéseket használhatsz a feladatok feldolgozásához ütemezett időpont megadásához.


Folyamatos

A folytonosság lehetővé teszi, hogy összetett munkafolyamatokat definiálj több háttérfeladat összekapcsolásával.


Hivatalos dokumentációs link:A hiperlink bejelentkezés látható.

(Vége)






Előző:Videóadatok algoritmusa megosztja a jegyzeteket
Következő:Kérés megszakítva: Nem sikerült SSL/TLS biztonságos csatornamegoldást létrehozni
Közzétéve 2019. 05. 24. 10:12:25 |
Ezt a bejegyzést utoljára YuAn szerkesztette: 2019-05-24, 10:20

Szép cikk tanult
Közzétéve 2019. 05. 24. 10:12:46 |
Támogatási támogatás
Közzétéve 2021. 09. 17. 21:59:44 |

Támogatási támogatás
Közzétéve 2022. 09. 26. 22:20:45 |
Támogatás, tanuld meg használni
Közzétéve 2022. 11. 12. 19:02:23 |

Támogatás, tanuld meg használni
Közzétéve 2023. 03. 25. 9:45:31 |

Támogatás, tanuld meg használni
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com