Безопасно ли всегда предполагать, что HttpContext.Current будет ненулевым в Application_PreRequestHandlerExecute?
РЕДАКТИРОВАТЬ: Предполагая веб-формы ASP.NET (не MVC).
Должен быть текущий объект httpcontext, если приложение запущено.
Да, если только вы не запускаете код вне конвейера asp.net (в модульных тестах или в некоторых других).
HttpApplication вручается HttpContext при создании.
HttpApplication
HttpContext