Я пытался работать с контекстом http (с помощью Httpcontext.current) в событии application_start в global.asax, тогда вы получите сообщение об ошибке: - Запрос HttpContext.Current недоступен в этом контексте.
Проблема может быть легко решена с помощью обходного пути с помощью статического конструктора, который запускается при первом обращении к объекту. Мы можем сохранить флаг в событии Application_Beginrequest и легко определить запрос, который инициализировал приложение.
Но в этом случае он создается при каждом запросе, что мне не нужно. Я хочу создать или получить доступ к Httpcontext.current один раз
Мой код выглядит следующим образом: -
`//var context = new HttpContextWrapper(HttpContext.Current);
//var routeData = RouteTable.Routes.GetRouteData(context) ?? new RouteData();
//var requestContext = new RequestContext(context, routeData);
//var urlHelper = new UrlHelper(requestContext);
//var url = urlHelper.Action("Home", "Index");
var httpContext = new HttpContextWrapper(HttpContext.Current);
UrlHelper urlHelper = new UrlHelper(new RequestContext(httpContext, new RouteData()));
if (urlHelper.RequestContext.HttpContext.Request.IsLocal)
{
}
//if (((requestContext.HttpContext).Request).IsLocal)
//{
//}`