Итак HttpContext.Request выдает, если вызывается в глобальном запуске
public HttpRequest get_Request()
{
if (this.HideRequestResponse)
{
throw new HttpException(SR.GetString("Request_not_available"));
}
return this._request;
}
Это фактически документировано
ASP.NET генерирует исключение, если вы попытаетесь использовать это свойство, когда объект HttpRequest недоступен. Например, это было бы верно в методе Application_Start файла Global.asax или в методе, который вызывается из метода Application_Start. В то время HTTP-запрос еще не создан.
Есть ли способ проверить, находится ли HttpContext.Request в состоянии, которое может быть извлечено без исключения исключения? Эффективно я хочу написать вспомогательный метод TryGetRequest
.
- Отражение не является опцией. Это должен быть открытый API.
- У меня нет доступа к контексту приложения. это общий код ведения журнала. Поэтому установка некоторого флага при завершении запуска не является вариантом