2016-12-22 6 views
1

.NETコアではなく、カスタムOWIN開発には初めてです。私はOWINモジュールの作成を開始し、StartupクラスのConfigureメソッドに接続することができました。それは動作しますが、アプリケーションが初めて起動するときにのみ実行されます。私はこのOWINミドルウェアを各HTTPリクエストで呼びたいと思います。各HTTPリクエストでのOWINモジュールの呼び出し

これは.NET Coreで可能ですか? .NET Framework 4.5では、 "StageMarkers"(app.UseStageMarkers)を使用できます。これは.NET Coreのオプションではないようです。これは私のSiteThemerMiddlewareある

app.UseMiddleware<SiteThemerMiddleware>(); 

(何が本当にそれにはまだ行われません)::OWIN

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."); 
    } 
} 
+0

おそらくUseOwinを使用する必要がありますか? https://docs.microsoft.com/en-us/aspnet/core/fundamentals/owin – Alexan

+0

私はそれを見ましたが、私は何かを考えていましたが、UseOwinは私にとって有効な拡張方法ではありません。私は.NetCoreApp 1.0を使用しています – TheWebGuy

答えて

1

ASP.NETコアのパイプラインがに似ているが、直接ではなく、ここで

は、起動中に私の実装です(詳細は https://docs.microsoft.com/en-us/aspnet/core/fundamentals/owinを参照してください)。以前は、System.Webをはじめとするさまざまなホストの上に、ASP.NETのOWINを実装していました。

これは.NET Coreでは可能ですか? .NET Framework 4.5では、 "StageMarkers"(app.UseStageMarkers)を使用できます。これは.NET COREのオプションであるようには見えません。

UseStageMarkersは各リクエストでミドルウェアを実行することとは関係ありません。それは、System.WebのIIS統合パイプライン内のさまざまな段階でミドルウェアをインターリーブすることに関するものでした。

各リクエストでロジックを実行する場合は、ミドルウェアのInvokeメソッドでコードを記述します。これはリクエストごとに呼び出されます。

関連する問題