TL; DR;
有没有办法在.NET Standard中创建一个与Microsoft.Owin向后兼容的Owin中间件?
详情
我创建了一个简单的中间件,如:
-
我在" classic"中添加了它与Owin在板上的ASP.NET应用程序。使用:
public class RequestTrackingMiddleware
{
private readonly RequestDelegate _next;
public RequestTrackingMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
var sw = Stopwatch.StartNew();
await _next(context);
sw.Stop();
Console.WriteLine(sw);
}
但我最终得到了:
Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2 [....]和Microsoft.AspNetCore.Http.RequestDelegate之间无转换。
有什么想法吗?
答案 0 :(得分:3)
是的,你可以,但那不是OWIN中间件,即ASP.NET核心中间件。请参阅此博文http://benfoster.io/blog/how-to-write-owin-middleware-in-5-different-steps(第3步是最相关的)。然后,您可以在Katana或ASP.NET Core中使用该OWIN中间件(通过OWIN网桥),以https://codeopinion.com/migrate-from-katana-asp-net-core/为例。