Мое промежуточное ПО OWIN похоже на это. (Framework - это веб-интерфейс ASP.NET).
public class MyMiddleware : OwinMiddleware
{
public MyMiddleware(OwinMiddleware next) : base(next) { }
public override async Task Invoke(OwinRequest request, OwinResponse response)
{
var header = request.GetHeader("X-Whatever-Header");
await Next.Invoke(request, response);
response.SetHeader("X-MyResponse-Header", "Some Value");
response.StatusCode = 403;
}
}
Вопросы:
-
Является ли это рекомендуемой практикой из
OwinMiddleware
? Я вижу, что в источнике Katana некоторые из классов промежуточного ПО получают изOwinMiddleware
, а некоторые нет. -
Я вижу заголовки запросов в порядке. Настройка заголовка ответа или кода состояния после
Next.Invoke
в моем промежуточном программном обеспечении не влияет на ответ, возвращаемый клиенту. Но если я устанавливаю заголовок ответа или статус перед вызовомNext.Invoke
, ответ с заголовками и статус, который я устанавливаю, возвращается клиенту. Каков правильный способ их настройки?