이 글에서는 ASP.NET CoreMiddleware의 설정 튜토리얼을 주로 소개합니다. 관심 있는 친구들은
Asp.Net Core-Middleware
이 장에서는 미들웨어를 설정하는 방법. ASP.NET Core의 미들웨어 기술은 애플리케이션이 HTTP 요청에 응답하는 방식을 제어합니다. 또한 사용자가 특정 작업을 수행할 수 있도록 인증하고 권한을 부여하는 방법의 핵심인 애플리케이션 예외 오류를 제어할 수도 있습니다.
미들웨어는 요청과 응답을 처리하기 위해 애플리케이션의 파이프라인에 조립된 소프트웨어 구성 요소입니다.
각 구성 요소는 요청을 파이프라인의 다음 구성 요소로 전달할지 여부를 선택할 수 있으며 파이프라인의 작업 전후에 특정 작업을 수행할 수 있습니다.
요청 대리자는 요청 파이프라인을 구축하는 데 사용됩니다. 요청 대리자는 각 HTTP 요청을 처리하는 데 사용됩니다.
ASP.NET Core의 모든 미들웨어 부분은 개체이며 각 부분에는 매우 구체적이고 집중적이며 제한된 역할이 있습니다.
궁극적으로 애플리케이션에 적절한 동작을 제공하려면 많은 미들웨어가 필요합니다.
이제 모든 요청을 애플리케이션에 기록한다고 가정해 보겠습니다.
이 경우 애플리케이션에 설치하는 첫 번째 미들웨어는 로깅 구성 요소입니다.
이 로거는 들어오는 모든 요청을 볼 수 있으며 미들웨어는 일부 정보를 기록한 후 이 요청을 다음 블록 미들웨어에 전달합니다.
미들웨어는 이 처리 파이프라인에 일련의 구성 요소로 나타납니다.
애플리케이션에 설치하는 다음 미들웨어는 인증 구성 요소입니다.
구성 요소는 특정 cookie을 찾거나 HTTP 헤더의 토큰에 액세스할 수 있습니다.
인증 구성 요소가 토큰을 찾으면 요청을 계속할 수 있습니다.
그렇지 않은 경우 인증 구성 요소 자체가 HTTP 오류 코드로 요청에 응답하거나 사용자를 로그인 페이지로 리디렉션할 수 있습니다.
그렇지 않으면 인증 구성 요소가 요청을 다음 라우터의 미들웨어로 전달합니다.
라우터는 URL을 보고 다음 작업을 결정합니다.
라우터가 응답을 수행하는 중입니다. 라우터가 응답을 찾지 못하면 라우터 자체가 404 Not Found 오류를 반환할 수 있습니다.
사례
using Microsoft.AspNet.Builder; using Microsoft.AspNet.Hosting; using Microsoft.AspNet.Http; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Configuration; namespace FirstAppDemo { public class Startup { public Startup() { var builder = new ConfigurationBuilder() .AddJsonFile("AppSettings.json"); Configuration = builder.Build(); } public IConfiguration Configuration { get; set; } // This method gets called by the runtime. // Use this method to add services to the container. // For more information on how to configure your application, // visit http://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { } // This method gets called by the runtime. // Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app) { app.UseIISPlatformHandler(); app.Run(async (context) => { var msg = Configuration["message"]; await context.Response.WriteAsync(msg); }); } // Entry point for the application. public static void Main(string[] args) => WebApplication.Run<Startup>(args); } }
Configure() 메소드에서 IApplicationBuilder 인터페이스의 확장 메소드를 호출하여 미들웨어를 추가하겠습니다.
기본적으로 새로운 빈 프로젝트에는 두 개의 미들웨어가 있습니다 -
IISPlatformHandler
app.Run
IISPlatformHandler
IISPlatformHandler에 등록된 미들웨어를 사용하면 Windows 인증을 사용할 수 있습니다. 들어오는 각 요청을 살펴보고 Windows ID 관련 요청이 있는지 확인한 후 다음 블록 미들웨어를 호출합니다.
app.Run에 등록된 미들웨어
이 경우 미들웨어는 app.Run에 등록됩니다. Run 메서드를 사용하면 각 응답을 처리하는 데 사용할 수 있는 다른 메서드를 전달할 수 있습니다. Run 메소드는 흔히 볼 수 있는 것이 아니며, 미들웨어 터미널이라고 부를 수 있습니다.
실행하기 위해 등록한 미들웨어는 다른 미들웨어를 호출할 기회가 전혀 없으며 요청을 받고 일종의 응답을 생성하는 것뿐입니다.
응답 개체에 액세스할 수도 있으며 응답 개체에 문자열을 추가할 수도 있습니다.
app.Run 이후에 다른 미들웨어를 등록하려는 경우 Run 메소드가 미들웨어의 터미널이기 때문에 이 미들웨어는 호출되지 않습니다. 다음 블록 미들웨어를 호출하지 않습니다.
미들웨어 추가 방법
다른 미들웨어를 추가하려면 다음 단계를 진행해 보겠습니다. −
1단계− 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 NuGet 패키지 관리를 선택합니다.
2단계−검색 Microsoft.aspnet.diagnostics, 이 특정 패키지에는 우리가 사용할 수 있는 다양한 종류의 미들웨어가 포함되어 있습니다.
3단계− 프로젝트에 패키지가 설치되어 있지 않은 경우 이 패키지를 설치하도록 선택하세요.
4단계− 이제 Configure() 메서드에서 app.UseWelcomePage 미들웨어를 호출해 보겠습니다.
// This method gets called by the runtime. // Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app) { app.UseIISPlatformHandler(); app.UseWelcomePage(); app.Run(async (context) => { var msg = Configuration["message"]; await context.Response.WriteAsync(msg); });
5단계 - 애플리케이션을 실행하면 다음과 같은 시작 화면이 표시됩니다.
이 환영 화면은 그다지 유용하지 않을 수 있습니다.
步骤6−让我们试试别的东西,可能是更有用的,而不是使用欢迎页面,我们将使用RuntimeInfoPage。
// This method gets called by the runtime. // Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app) { app.UseIISPlatformHandler(); app.UseRuntimeInfoPage(); app.Run(async (context) => { var msg = Configuration["message"]; await context.Response.WriteAsync(msg); }); }
第 7 步 − 保存您的 Startup.cs 页面并刷新您的浏览器,你会看到下面的页面。
这个 RuntimeInfoPage 是中间件,将只响应一个特定的 URL 的请求。如果传入的请求与该 URL 不匹配,这个中间件只是让请求传递到下一件中间件。该请求将通过 IISPlatformHandler 中间件,然后转到 UseRuntimeInfoPage 中间件。它不会创建响应,所以它会转到我们的应用程序。运行并显示该字符串。
步骤8−我们在URL结尾添加“ runtimeinfo”。现在,您将看到一个页面,该页面是由中间件运行时信息页面。
你将看到一个返回页面,它给你展示了一些关于你的运行时环境,如操作系统、运行时版本,结构,类型和您正在使用的所有包的信息。
위 내용은 ASP.NET Core 미들웨어 설정 튜토리얼(7)_실용 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

C# .NET 개발을 시작하려면 다음과 같은 것이 필요합니다. 1. C#의 기본 지식과 .NET 프레임 워크의 핵심 개념을 이해하십시오. 2. 변수, 데이터 유형, 제어 구조, 기능 및 클래스의 기본 개념을 마스터하십시오. 3. LINQ 및 비동기 프로그래밍과 같은 C#의 고급 기능을 배우십시오. 4. 일반적인 오류에 대한 디버깅 기술 및 성능 최적화 방법에 익숙해 지십시오. 이러한 단계를 통해 C#.NET의 세계를 점차적으로 침투하고 효율적인 응용 프로그램을 작성할 수 있습니다.

C#과 .NET의 관계는 분리 할 수 없지만 같은 것은 아닙니다. C#은 프로그래밍 언어이며 .NET은 개발 플랫폼입니다. C#은 코드를 작성하고 .NET의 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행되는 데 사용됩니다.

C#.NET은 여러 응용 프로그램 개발을 지원하는 강력한 도구 및 라이브러리를 제공하기 때문에 여전히 중요합니다. 1) C#은 .NET 프레임 워크를 결합하여 개발 효율적이고 편리하게 만듭니다. 2) C#의 타입 안전 및 쓰레기 수집 메커니즘은 장점을 향상시킵니다. 3) .NET은 크로스 플랫폼 실행 환경과 풍부한 API를 제공하여 개발 유연성을 향상시킵니다.

C#.NETISVERSATILEFORBOTHWEBBANDDESKTOPDEVENTROMMENT.1) FORWEB, useASP.NETFORRICHINTERFACES.3) FORDESKTOP.3) USEXAMARINFORCROSS-PLATFORMDEEVENTRIMMENT, LINABILEDEV, MACODEDEV, and MACODEDOWS, 및 MACODEDOWS.

C# 및 .NET는 지속적인 업데이트 및 최적화를 통해 신흥 기술의 요구에 적응합니다. 1) C# 9.0 및 .NET5는 레코드 유형 및 성능 최적화를 소개합니다. 2) .NETCORE는 클라우드 네이티브 및 컨테이너화 된 지원을 향상시킵니다. 3) ASP.NETCORE는 최신 웹 기술과 통합됩니다. 4) ML.NET는 기계 학습 및 인공 지능을 지원합니다. 5) 비동기 프로그래밍 및 모범 사례는 성능을 향상시킵니다.

C#.netissuitable forenterprise-levelapplications는 richlibraries, androbustperformance, 그러나 itmaynotbeidealforcross-platformdevelopmentorwhenrawspeediscritical, wherelanguagesslikerustorthightordogrordogrognegrognegrognegrognecross-platformdevelopmentor.

.NET에서 C#의 프로그래밍 프로세스에는 다음 단계가 포함됩니다. 1) C# 코드 작성, 2) 중간 언어 (IL)로 컴파일하고 .NET 런타임 (CLR)에 의해 실행됩니다. .NET에서 C#의 장점은 현대적인 구문, 강력한 유형 시스템 및 .NET 프레임 워크와의 긴밀한 통합으로 데스크탑 응용 프로그램에서 웹 서비스에 이르기까지 다양한 개발 시나리오에 적합합니다.

C#은 Microsoft가 개발 한 최신 객체 지향 프로그래밍 언어이며 .NET 프레임 워크의 일부로 개발되었습니다. 1.C#은 캡슐화, 상속 및 다형성을 포함한 객체 지향 프로그래밍 (OOP)을 지원합니다. 2. C#의 비동기 프로그래밍은 응용 프로그램 응답 성을 향상시키기 위해 비동기 및 키워드를 기다리는 키워드를 통해 구현됩니다. 3. LINQ를 사용하여 데이터 컬렉션을 간결하게 처리하십시오. 4. 일반적인 오류에는 NULL 참조 예외 및 인덱스 외 예외가 포함됩니다. 디버깅 기술에는 디버거 사용 및 예외 처리가 포함됩니다. 5. 성능 최적화에는 StringBuilder 사용 및 불필요한 포장 및 Unboxing을 피하는 것이 포함됩니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

드림위버 CS6
시각적 웹 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경
