2013-07-05 16 views
5

Jak rozumiem Owin, teraz jest to pakiet modułów, które można zdefiniować, które obsługują przychodzące żądania. Każdy moduł może zwrócić odpowiedź lub przekazać żądanie do następnego modułu. Dzięki temu bardzo łatwo jest dodać rejestrowanie lub uwierzytelnianie, lub coś innego, bardzo fajne.Can Owin obsługuje również odpowiedzi w swoim kanale

Ale co, jeśli chciałbym rejestrować odpowiedzi? Czy możesz utworzyć moduł uruchamiany dla każdej odpowiedzi, niezależnie od tego, skąd pochodzi odpowiedź w potoku? Jeśli to możliwe, możesz podać przykład lub link, nie mogę znaleźć tego scenariusza w Internecie.

Odpowiedz

3

Okazało się, że jest to dość proste i logiczne, This blogpost pokazuje przykład, jak ustawić czas żądania. Ponieważ moduł przekazuje żądanie do następnego modułu lub ZWRACA odpowiedź, jest to tylko kwestia zarejestrowania modułu jako pierwszego i przetworzenia wartości zwracanej za pomocą funkcji ContinueWith:

public Task Invoke(IDictionary<string, object> environment) 
{ 
    return _next(environment).ContinueWith(result => 
    { 
     Logger.LogResult(result); 
     return result; 
    }); 
} 
Powiązane problemy