TL; DR;在.NET標準中創建OWIN中間件
有沒有辦法在.NET標準中創建一個Owin中間件,這個中間件會與Microsoft.Owin向後兼容?
詳細
我創建了一個簡單的中間件,如:
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);
}
我Owin加入它 「經典」 ASP.NET應用程序在黑板上。使用:
public override void Configuration(IAppBuilder app)
{
app.Use<FinaiRequestTrackingMiddleware>();
}
但我結束了:
Microsoft.AspNet.Identity.Owin.IdentityFactoryMiddleware`2 [...]和Microsoft.AspNetCore.Http.RequestDelegate之間沒有可用的轉換。
任何想法?
爲什麼不直接在'Invoke'方法中提取代碼並創建RequestTrackingMiddleware'類的兩個變體,每個Owin版本都有一個變體。 – DavidG
@DavidG如果我找不到解決方案,我將以此完結。但我希望.NET標準將解決代碼 –
中的#if問題。我不認爲這是.Net標準的問題,我認爲它是Owin的不同變體。 – DavidG