2
我有一個ASP.NET核心應用程序和一個簡單的OWIN中間件來檢查一些數據。但是我想只在請求頁面時運行中間件。現在它的運行時還需要資產,如圖像,CSS等。ASP.NET核心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.");
}
}
添加它後面的管道比靜態文件處理中間件更多的細節? –
向我們展示如何註冊您的中間件。密鑰可能會從註冊切換到。使用註冊.Map,但沒有隻是猜測的代碼。 – tpeczek
@tpeczek我繼續前進並更新了我的代碼,謝謝! – TheWebGuy