【发布时间】:2016-12-23 03:08:15
【问题描述】:
我是自定义 OWIN 开发的新手,更不用说用 .NET Core 编写它了。我开始编写一个 OWIN 模块,并且可以将它连接到 Startup 类的 Configure 方法中。它有效,但仅在应用程序第一次启动时执行。我希望在每个 HTTP 请求上调用这个 OWIN 中间件。
这在 .NET Core 中可行吗?似乎在 .NET Framework 4.5 中我们可以使用“StageMarkers”(app.UseStageMarkers)。这似乎不是 .NET Core 中的选项。
这是我在启动时的实现:
app.UseMiddleware<SiteThemerMiddleware>();
这是我的 SiteThemerMiddleware(还没有真正做任何事情):
public class SiteThemerMiddleware
{
private readonly RequestDelegate _next;
public SiteThemerMiddleware(RequestDelegate next)
{
_next = next;
//_logger = loggerFactory.CreateLogger<SiteThemerMiddleware>();
}
public async Task Invoke(HttpContext context)
{
//_logger.LogInformation("Handling request: " + context.Request.Path);
await _next.Invoke(context);
//_logger.LogInformation("Finished handling request.");
}
}
【问题讨论】:
-
也许你应该使用 UseOwin? docs.microsoft.com/en-us/aspnet/core/fundamentals/owin
-
我看到了,我也在想同样的事情,但 UseOwin 对我来说不是一个有效的扩展方法。我正在使用 .NetCoreApp 1.0
标签: c# .net asp.net-core owin .net-core