私はASP.NET CoreアプリケーションといくつかのデータをチェックするためのシンプルなOWINミドルウェアを持っています。しかし、私は、ページが要求されたときにのみミドルウェアを実行したいと思います。現在、画像、CSSなどの資産が要求されたときに実行されます。ASP.NET Core OWINミドルウェア
ページリクエストでのみ実行するowinミドルウェアコードを作成するにはどうすればよいですか?
登録:
app.UseSiteThemer();
サイトThemer拡張クラス:
public static class SiteThemerExtensions
{
public static IApplicationBuilder UseSiteThemer(this IApplicationBuilder builder)
{
return builder.UseMiddleware<SiteThemerMiddleware>();
}
}
OWINミドルウェア:
public class SiteThemerMiddleware
{
private readonly RequestDelegate _next;
private readonly ISiteService _siteService;
public SiteThemerMiddleware(RequestDelegate next, ISiteService siteService)
{
_siteService = siteService;
_next = next;
//_logger = loggerFactory.CreateLogger<SiteThemerMiddleware>();
}
public async Task Invoke(HttpContext context)
{
await Task.Run(() =>
{
Console.Write("OWIN Hit");
});
//_logger.LogInformation("Handling request: " + context.Request.Path);
await _next.Invoke(context);
//_logger.LogInformation("Finished handling request.");
}
}
が後の静的ファイルハンドラミドルウェアよりもパイプラインでそれを追加するパイプラインの詳細を読むことができますか? –
ミドルウェアの登録方法を教えてください。キーはおそらく、.Useで登録することから.Mapで登録するだけで、推測しているコードはなくなります。 – tpeczek
@tpeczek私は先に進み、自分のコードで更新しました、ありがとう! – TheWebGuy