4

私が理解しているように、Owin は着信要求を処理する定義可能なモジュールのパイプラインです。どのモジュールも、応答を返したり、要求を次のモジュールに渡したりできます。これにより、ロギングや認証などの追加が非常に簡単になり、非常にクールです。

しかし、応答をログに記録したい場合はどうすればよいでしょうか? 応答がパイプラインのどこから来たかに関係なく、すべての応答に対して実行されるモジュールを作成できますか? 可能であれば、例またはリンクを提供していただけますか。このシナリオが Web 上で見つからないようです。

4

1 に答える 1

3

非常にシンプルで論理的であることがわかります。このブログ投稿では、リクエストのタイミングを計る方法の例を示しています。モジュールはリクエストを次のモジュールに渡すか、レスポンスを返すため、最初のモジュールとしてモジュールを登録し、ContinueWith で戻り値を処理するだけの問題です。

public Task Invoke(IDictionary<string, object> environment)
{
    return _next(environment).ContinueWith(result =>
    {
        Logger.LogResult(result);
        return result;
    });
}
于 2013-07-08T05:29:39.530 に答える