Asp.net основные заголовки по умолчанию
- Привет.
У меня есть очень интересный сценарий, когда asp.net основное приложение добавляет что-то дополнительное к моим заголовкам. Я проверяю все входящие запросы и использую промежуточное программное обеспечение для проверки заголовков перед обработкой запроса:
public async Task Invoke(HttpContext httpContext) { if (httpContext.Request.Headers.Keys.ToArray()[0] != "UserKey") { throw new Exception("Wrong header order"); } await _next(httpContext); }
Я также установил это в startup.cs:
<pre>public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } // do this before others app.UseMiddleware<HeaderHandlingMiddleware>(); app.UseMvc(); }
Хотя по какой-то причине, когда я пытаюсь проверить заголовки в то время, когда запрос находится в промежуточном программном обеспечении, я вижу, что некоторые заголовки по умолчанию были добавлены для "подключения" и "поддержания жизни". И они были установлены сверху (то есть они первые в коллекции заголовков).
Я попробовал сделать ручной запрос с таким скрипачом:
GET http://localhost:49669/headers HTTP/1.1 Key_1: Value_1 Key_2: Value_2 Key_3: Value_3 Host: localhost:49669 Connection: Close
Но все же - когда я проверяю заголовки, я вижу, что соединение было настроено на "Keep-Alive", и порядок заголовков был потерян.
Есть идеи, где искать?
Может быть, есть какое-то дополнительное событие, к которому я могу подключиться (без использования промежуточного программного обеспечения)?
br,
м
Что я уже пробовал:
Попробовал использовать класс middleware, но это не помогло.