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

보기: 61848|회답: 3

[.NET 코어] ASP.NET 코어 미들웨어에 대한 상세한 설명

[링크 복사]
게시됨 2019. 9. 18. 오전 11:35:59 | | | |
미들웨어란 무엇인가요?

미들웨어는 요청과 응답을 처리하기 위해 애플리케이션 파이프라인으로 조립된 소프트웨어입니다. 각 구성 요소:

  • 요청을 파이프라인의 다음 컴포넌트로 전달할지 선택하세요.
  • 파이프라인의 다음 구성 요소가 호출되기 전후로 작업이 수행될 수 있습니다.

요청 위임자는 각 HTTP 요청을 처리하는 요청 파이프라인을 구축하는 데 사용됩니다.

요청 디리게이트는 Run, Map, Use 확장 메서드를 사용하여 구성됩니다. 별도의 요청 위임자는 인라인 익명 메서드(인라인 미들웨어라 불림)로 지정할 수도 있고, 재사용 가능한 클래스로 정의할 수도 있습니다. 이러한 재사용 가능한 클래스와 인라인 익명화 방법은 미들웨어 또는 미들웨어 컴포넌트입니다. 요청 흐름 내 각 미들웨어 구성 요소는 파이프라인의 다음 구성 요소를 호출하고, 적절하다면 링크 단락을 호출하는 역할을 합니다.

HTTP 모듈을 미들웨어로 마이그레이션하는 과정은 이전 버전(ASP.NET)의 ASP.NET Core와 request pipelines의 차이를 설명하며, 더 많은 미들웨어 예시를 제공합니다.

IApplicationBuilder를 사용해 미들웨어 파이프라인을 만드세요

ASP.NET 코어 요청 프로세스는 다음 그림과 같이 일련의 요청 대리인으로 구성됩니다(실행 과정은 검은 화살표를 따라 진행됩니다):

각 대의원은 다음 대의원 전후로 행동할 수 있습니다. 또한 대리인은 요청을 다음 대리자에게 전달하지 않기로 결정할 수 있는데, 이를 요청 파이프라인에서 단락 회로라고 합니다. 단락은 불필요한 작업을 피할 수 있어 보통 바람직합니다. 예를 들어, 정적 파일 미들웨어는 정적 파일 요청을 반환하고 나머지 파이프라인을 단축시킬 수 있습니다. 예외 처리 대리자는 파이프라인 초기에 호출되어야 하며, 이를 통해 이후 파이프라인에서 예외를 포착할 수 있습니다.

가장 간단한 방법은 아마도 Core 애플리케이션 ASP.NET 모든 요청을 처리할 대리자를 설정하는 것입니다. 이 시나리오에는 실제 요청 파이프라인은 포함되지 않습니다. 대신, 각 HTTP 요청마다 익명 메서드가 호출됩니다.


첫 번째 앱. 런 대리인은 파이프라인을 종료합니다.

이런 코드가 있습니다:




브라우저를 통해 접근해보니, 실제로 첫 번째 앱에 포함되어 있습니다. 런은 파이프라인을 종료합니다.



앱으로 여러 요청을 위임할 수 있습니다. 사용은 서로 연결되어 있습니다. 다음 매개변수는 파이프라인 내 다음 대리자를 나타냅니다. (다음 매개변수를 호출하지 않으면 파이프라인을 종료할 수 있다는 점을 기억하세요.) 다음 위임 전후로 행동을 수행할 수 있으며, 다음 예시에서 확인할 수 있습니다:

브라우저를 사용하여 다음과 같은 결과를 확인할 수 있습니다:



요청 대리인의 실행 순서는 위의 흐름도를 따르는 것을 알 수 있습니다.

메모:

응답이 클라이언트에 전송된 후에는 다음에 전화하지 마세요. Invoke. 응답이 시작되면 HttpResponse에 대한 변경 사항이 예외를 던집니다. 예를 들어, 응답 헤더, 상태 코드 등을 설정하면 예외가 발생합니다. 다음 전화를 걸고 나서 응답 본문을 작성하세요.

계약 위반으로 이어질 수 있습니다. 예를 들어, content-length에 설명된 내용 길이보다 더 길게 쓰는 경우.

반응형 콘텐츠 서식이 고장 났을 수 있습니다. 예를 들어, CSS 파일에 HTML 풋을 작성해 보세요.

HttpResponse.HasStarted는 응답 헤더가 전송되었는지, 또는 본문이 작성되었는지 알려주는 유용한 힌트입니다.


내장형 미들웨어

ASP.NET 코어는 다음과 같은 미들웨어 구성 요소를 포함하고 있습니다:


미들웨어묘사
인증인증 지원도 가능합니다
코어스도메인 간 자원 공유 구성
응답 캐싱캐시 응답 지원도 가능합니다
응답 압축응답 압축 지원 제공
라우팅요청 라우팅 정의 및 제한
회기사용자 세션 관리 제공
정적 파일정적 파일 및 디렉터리 탐색 지원을 제공합니다
URL 리라이트 미들웨어URL 재작성과 리디렉션 지원 요청에 사용됩니다





이전의:바이두의 신제품! 원 모먼트 앨범은 현재 100만 명의 사용자가 무제한 저장 공간을 청구할 수 있습니다:
다음:영어 레벨 4 및 6 듣기 및 대학원 입학 시험 영어 어휘 재시험 구두 데이터 공유
게시됨 2021. 9. 22. 오후 8:47:00 |
배우기 시작해...
게시됨 2021. 10. 10. 오후 6:55:42 |
배우기 위해 이 글은 회원권을 열었습니다
게시됨 2021. 10. 10. 오후 6:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com