0
macOS에서 asp.net 핵심 웹 API를 만들려고합니다.ASP.NET 코어 - MVC의 미들웨어
그러나 내 미들웨어는 mvc-call에서 호출되지 않습니다.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory, BackendDbContext context)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
//app.UseStaticFiles();
app.UseMvc();
app.UseMiddleware<AuthMiddleware>();
BackendDbInitializer.Init(context);
}
그리고 내 미들웨어 :
내 구성
public class AuthMiddleware
{
private readonly RequestDelegate _next;
public AuthMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
Console.WriteLine("Invoke......................");
await _next.Invoke(context);
}
}
내가 컨트롤러 요청과 일치하지 않는 HTTP 요청을 할
. 미들웨어 클래스가 호출됩니다.어떻게하면 mvc-request에서만 미들웨어 클래스가 호출되도록 설정할 수 있습니까?
나는 내가 당신의 방법은 컨트롤러 내부에 생각 MVS 정말 새로운 오전 (MVC는 필터 섹션으로 미들웨어 참조)? 하지만 각 메서드마다 주석을 추가하고 싶기 때문에 각 메서드에 주석을 추가하고 싶지 않습니다. – Flo
@Flo 답변을 업데이트했습니다. 컨트롤러에이 필터를 적용 할 수도 있습니다. –
좋아, 나는 미들웨어를 인증으로 사용할 것이다. 그리고 저는 모든 나머지 컨트롤러와 모든 방법에 대해 호출하고 싶습니다. 글로벌로 구성 할 수 있습니까? – Flo