Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 61378|Odpowiedź: 6

[ASP.NET] asp.net tutorial dotyczący frameworka Hangfire w tle zadania

[Skopiuj link]
Opublikowano 24.05.2019 09:51:10 | | | |
Hangfire współpracuje z większością platform .NET:.NET Framework 4.5 lub nowszy, .NET Core 1.0 lub nowszy, wszystko związane z . Platforma zgodna z NET Standard 1.3. Możesz go zintegrować z niemal każdym frameworkiem aplikacji, w tym ASP.NET, ASP.NET Core, aplikacjami konsolowymi, usługami Windows, WCF oraz sterownikami społecznościowymi takimi jak Nancy czy ServiceStack.

Dostępne scenariusze:Tło wysyła e-mail asynchronicznie i odpowiada użytkownikowi tak szybko, jak to możliwe. Planowane wykonywanie zadań, cykliczne wykonywanie zadań, asynchroniczne wykonywanie czasochłonnych zadań, zakończenie wykonania zadania A, a następnie zadania B oraz wykonywanie zadań wsadowych.
Jak kiedyś to robiłem:

c# enkapsuluje uniwersalną kolejkę QueueHelper
https://www.itsvse.com/thread-5029-1-1.html
(Źródło: Architect_Programmer)


Możesz wprowadzić przetwarzanie w tle w ASP.NET aplikacji bez używania innych procesów, takich jak usługi Windows. Kod Hangfire jest gotowy do wdrożeniaNieoczekiwane zakończenie procesu, recykling puli aplikacji i restart。 Ze względu na zastosowanieTrwała pamięć, stąd tyNie tracę żadnych pracy w pracy w praktykach

Po pierwsze, przedstawienia przedstawiają się następująco:




Na powyższym zdjęciu jest dashboard Hangfire Dashboard, który jest bardzo przydatny i pozwala sprawdzać status zadań w tle, a także jest bardzo fajny, więc musi być skonfigurowany.

Interfejs dashboardu wymaga klasy startowej, tylko jeśliKonfigurując Hangfire z klasą Startup,Dashboard UIMożna go używać

Na początku nie konfigurowałem dashboardu Hangfire Dashboard i pojawił się następujący błąd:

Podczas próby uruchomienia aplikacji wystąpiły następujące błędy.
- Nie znaleziono żadnego zespołu zawierającego atrybut OwinStartup.
- Nie znaleziono żadnego zespołu zawierającego Startup lub [AssemblyName]. Zajęcia o startupach.
Aby wyłączyć odkrywanie uruchamiania OWIN, dodaj appSetting owin:AutomaticAppStartup z wartością "false" w pliku web.config.
Aby określić Assembly, Class lub Method startu OWIN, dodaj appSetting owin:AppStartup z w pełni kwalifikowaną klasą startową lub nazwą metody konfiguracji w swoim web.config.



Rozwiązanie:

Podczas inicjalizacji opartej na Global.asax.cs może być konieczne wyłączenie wykrywania klasy startowej w OWIN.

Przechodzimy do sedna, samouczek zaczyna się tak:

1: Ramy powinny spełniać potrzeby hangfire,Mój projekt to .net 4.6.2, Więc możesz normalnie zainstalować hangfire, projekty .net 4.0 nie muszą próbować, nie są wspierane!

2: Polecenie nuget wygląda następująco:

3: Kurs OWIN Startup został zaprojektowany tak, aby utrzymać logikę uruchamiania aplikacji webowych w jednym miejscu. W Visual Studio 2013 możesz dodać, klikając prawym przyciskiem myszy na projekt i wybierając pozycję menu Add/OWIN Startup Class. Jak pokazano poniżej:



Utwórz nowy plik Startup.cs w katalogu głównym projektu.

4: KonfiguracjaCiąg połączeń bazy danych, wersji SQL Server 2012, której tutaj używam, konfiguracja w web.config wygląda następująco:

5: Konfiguruj Hangfire Dashboard, aby uzyskać dostęp do filtra, tworząc nowyHangfireAuthorizationFilter.csPlik.

Domyślnie dozwolony jest tylko lokalny dostęp do Hangfire Dashboard. Autoryzacja pulpitu musi być skonfigurowana tak, aby umożliwić zdalny dostęp.


6: Konfiguruj klasę Startup.cs, kod wygląda następująco:


7: Rozpocznij projekt strony internetowej

Uruchom aplikację F5, naciskając tryb debug (wymaga to sprawdzenia wyjścia metody Debug.WriteLine). Następnie sprawdź następujący komunikat w oknie Output, aby sprawdzić, czy przetwarzanie w tle rozpoczęło się pomyślnie.



Jednocześnie baza danych zawiera 11 dodatkowych tabel, aby zapewnić normalne wykonywanie wszystkich zadań i nie utracić ich podczas odzyskiwania IIS lub restartu procesu, jak pokazano na poniższym rysunku:



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

Odwiedź adres URL interfejsu Dashboard, aby zobaczyć renderowanie na górze artykułu.

Załączone zastosowanie

Fire-And-forget (publikuj/subskrybuj)

To główny typ zadania w tle, którym zarządza trwała kolejka wiadomości. Gdy tworzysz zadanie publikuj/subskrybuj, zadanie zostanie zapisane w domyślnej kolejce (domyślna kolejka to "Domyślna", ale obsługiwane są kolejki wielokrotnie). Wielu dedykowanych pracowników słucha tej kolejki, pobiera z niej zadania i wykonuje zadania.


Opóźnienie

Jeśli chcesz opóźnić wykonanie niektórych zadań, możesz użyć następujących zadań. Po upływie określonego czasu opóźnienia zadanie jest kolejkowane i wykonywane jak zadanie publikuj/subskrybuj.

Pętla

Aby wywołać metodę według okresowości (godziny, dni itd.), użyj klasy RecurringJob. W złożonych scenariuszach możesz użyć wyrażeń CRON do określenia zaplanowanego czasu na przetwarzanie zadań.


Ciągłe

Ciągłość pozwala definiować złożone przepływy pracy poprzez łączenie wielu zadań w tle.


Oficjalny link do dokumentacji:Logowanie do linku jest widoczne.

(Koniec)






Poprzedni:Algorytm danych wideo udostępnia notatki
Następny:Żądanie przerwane: Nie udało się utworzyć rozwiązania bezpiecznego kanału SSL/TLS
Opublikowano 24.05.2019 10:12:25 |
Ten post został ostatnio edytowany przez YuAn 2019-5-24 o 10:20

Fajny artykuł nauczony
Opublikowano 24.05.2019 10:12:46 |
Wsparcie wsparcia
Opublikowano 17.09.2021 21:59:44 |

Wsparcie wsparcia
Opublikowano 26.09.2022 22:20:45 |
Wsparcie, naucz się go używać
Opublikowano 12.11.2022 19:02:23 |

Wsparcie, naucz się go używać
Opublikowano 25.03.2023 09:45:31 |

Wsparcie, naucz się go używać
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com