Попытка создать дополнительную регистрацию в моей системе WebAPI. Используя информацию жизненного цикла для запросов IIS, я смог зарегистрировать код с помощью Application_BeginRequest и Application_EndRequest в Global.asax.cs.Информация о переходе между WebApiApplication и ApiController
Однако есть действия в запросе (то есть: активность базы данных), которые происходят в моих ApiControllers, которые я также хочу регистрировать.
В BeginRequest я могу получить доступ к файлам HttpContext.Items для хранения информации, которую нужно получить в EndRequest. Однако, похоже, это не доступно в ApiController.
Я попытался использовать объект Request.Headers для этого. Но я предполагаю, что, поскольку один из них является HttpRequest, а другой - HttpRequestMessage, они не имеют общего места в памяти.
Я думал создать объект коллекции static в Global и хранить информацию таким образом. Но поскольку он является статичным, не допускает перекрестного опыления между запросами?
** EDIT: попробовал это и подтвердил, статические данные передаются между запросами
Можно использовать внешний хранилищу, чтобы сделать это, но кажется, что это должно быть в состоянии осуществить прямо в IIS. Любое направление будет оценено по достоинству.