이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 61378|회답: 6

[ASP.NET] asp.net 배경 작업 행파이어 프레임워크 튜토리얼

[링크 복사]
게시됨 2019. 5. 24. 오전 9:51:10 | | | |
Hangfire는 대부분의 .NET 플랫폼에서 작동합니다:.NET Framework 4.5 또는 이후 버전.NET Core 1.0 또는 그 이후의 모든 것과 관련된 모든 것. NET 표준 1.3 호환 플랫폼입니다. ASP.NET, ASP.NET 코어, 콘솔 애플리케이션, 윈도우 서비스, WCF, 그리고 Nancy나 ServiceStack 같은 커뮤니티 드라이버 등 거의 모든 애플리케이션 프레임워크와 통합할 수 있습니다.

적용 가능한 시나리오:백그라운드는 비동기식으로 이메일을 보내고 가능한 한 빨리 사용자에게 답장을 보냅니다. 작업의 예약 실행, 순환 실행, 시간 소모 작업의 비동기 실행, 작업 A 실행 완료 후 B 작업 실행, 배치 실행 등이 포함됩니다.
제가 예전에 했던 방법:

c#은 범용 큐헬퍼 큐를 캡슐화합니다
https://www.itsvse.com/thread-5029-1-1.html
(출처: Architect_Programmer)


Windows 서비스 같은 다른 프로세스를 사용하지 않고도 백 ASP.NET 처리를 애플리케이션에 넣을 수 있습니다. 행파이어의 코드가 배포 준비가 완료되었습니다예상치 못한 프로세스 종료, 애플리케이션 풀 재활용 및 재시작。 사용 때문에영구 저장그래서 당신배경 직업이 사라지지 않습니다

먼저, 렌더링은 다음과 같습니다:




위 사진은 Hangfire 대시보드 대시보드인데, 매우 유용하고 백그라운드 작업 상태를 확인할 수 있고, 매우 멋지기 때문에 반드시 설정해야 합니다.

대시보드 UI는 시작 클래스가 필요하며, 단지 당신이Startup 클래스로 Hangfire를 구성할 때,대시보드 UI사용할 수 있습니다

처음에는 Hangfire Dashboard 대시보드를 설정하지 않았고 다음과 같은 오류가 발생했습니다:

앱을 불러오려는 과정에서 다음과 같은 오류가 발생했습니다.
- OwinStartupAttribute를 포함하는 어셈블리를 찾지 못함.
- Startup 또는 [AssemblyName]을 포함하는 어셈블리가 발견되지 않음. 스타트업 수업.
OWIN 시작 검색을 비활성화하려면, web.config에 "false" 값을 가진 appSetting owin:AutomaticAppStartup을 추가하세요.
OWIN 스타트업 어셈블리, 클래스 또는 메서드를 지정하려면, web.config에 appSetting owin:AppStartup을 완전한 자격을 갖춘 스타트업 클래스 또는 구성 메서드 이름과 함께 추가하세요.



용액:

Global.asax.cs 기반 초기화를 사용할 때는 OWIN의 스타트업 클래스 감지 기능을 비활성화해야 할 수도 있습니다.

본론으로 들어가기 시작하자, 튜토리얼은 다음과 같이 시작됩니다:

1: 프레임워크는 행파이어의 요구를 충족해야 한다,제 프로젝트는 .net 4.6.2입니다, 그래서 행파이어는 정상적으로 설치할 수 있고, .net 4.0 프로젝트는 시도할 필요가 없고 지원되지 않습니다!

2: nuget 명령어는 다음과 같습니다:

3: OWIN 스타트래핑 클래스는 웹 애플리케이션 부트스트래핑 로직을 한 곳에 모으도록 설계되었습니다. Visual Studio 2013에서는 프로젝트를 우클릭한 후 Add/OWIN Startup Class 메뉴 항목을 선택해 추가할 수 있습니다. 아래에 나와 있습니다:



프로젝트 루트 디렉터리에 새 Startup.cs 파일을 생성하세요.

4: 구성데이터베이스 연결 문자열여기서 사용하는 SQL Server 2012 버전입니다. web.config의 구성은 다음과 같습니다:

5: Hangfire 대시보드를 설정하여 필터에 접근하고 새 필터를 생성합니다HangfireAuthorizationFilter.cs파일.

기본적으로 Hangfire 대시보드에 대한 로컬 접근만 허용됩니다. 대시보드 인증은 원격 접속을 허용하도록 설정되어야 합니다.


6: Startup.cs 클래스를 구성하며, 코드는 다음과 같습니다:


7: 웹사이트 프로젝트 시작

Debug 모드를 눌러 F5 애플리케이션을 실행하세요(Debug.WriteLine 메서드의 출력을 확인해야 합니다). 그 다음 출력 창에서 다음 메시지를 확인하여 백그라운드 처리가 성공적으로 시작되었는지 확인하세요.



동시에, 데이터베이스에는 모든 작업이 정상적으로 실행될 수 있고, IIS 복구나 프로세스 재시작 시 작업이 손실되지 않도록 하기 위해 11개의 추가 테이블도 포함되어 있습니다. 아래 그림에서 볼 수 있습니다:



http://<your-web-app>/행파이어

대시보드 UI URL을 방문하여 기사 상단의 렌더링을 확인하세요.

첨부된 사용

Fire-And-forget (게시/구독)

이것이 영구 메시지 큐가 처리하는 주요 백그라운드 작업 유형입니다. 게시/구독 작업을 생성하면 작업이 기본 큐에 저장됩니다(기본 큐는 "Default"이지만 여러 큐가 지원됨). 여러 전담 직원이 이 큐를 듣고 작업을 가져오고 작업을 완료합니다.


지연

특정 작업 실행을 지연시키고 싶다면 다음 작업을 사용할 수 있습니다. 일정 지연 시간이 지나면 작업은 대기열에 저장되어 게시/구독 작업처럼 실행됩니다.

루프

주기(시간, 일 등)로 메서드를 호출하려면 RecurringJob 클래스를 사용하세요. 복잡한 상황에서는 CRON 표현을 사용해 작업 처리 예정 시간을 지정할 수 있습니다.


연속

연속성은 여러 백그라운드 작업을 연결하여 복잡한 워크플로우를 정의할 수 있게 해줍니다.


공식 문서 링크:하이퍼링크 로그인이 보입니다.

(끝)






이전의:비디오 데이터 알고리즘이 노트를 공유합니다
다음:요청 중단: SSL/TLS 보안 채널 솔루션 생성 실패
게시됨 2019. 5. 24. 오전 10:12:25 |
이 글은 2019-5-24 10:20에 YuAn이 마지막으로 편집했습니다.

좋은 기사를 배웠습니다
게시됨 2019. 5. 24. 오전 10:12:46 |
지원
게시됨 2021. 9. 17. 오후 9:59:44 |

지원
게시됨 2022. 9. 26. 오후 10:20:45 |
지원, 사용법 배워
게시됨 2022. 11. 12. 오후 7:02:23 |

지원, 사용법 배워
게시됨 2023. 3. 25. 오전 9:45:31 |

지원, 사용법 배워
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com