2014-03-30 2 views
2

Я разрабатываю приложение через .Net framework 4.5 и Asp.net MVC5. Я пытаюсь получить доступ к объекту Request в Application_Error, но я получаю сообщение «Запрос не доступен в этом контексте».Как получить доступ к HttpRequest в Application_Error в Asp.net Mvc 5

Вот мой код:

protected void Application_Error(object sender, EventArgs e) 
{ 
    var httpContext = ((MvcApplication)sender).Context; 
    var req1 = httpContext.Request; 

я также попробовал этот

var req2= HttpContext.Current.Request; 

в то время как второй код работает отлично в проектах Asp.net MVC3.

Любая идея?

+0

мне это нужно, потому что у меня есть некоторые исключения, которые не выбрасываются из любого контроллера – RezaRahmati

+0

ли эти ошибки выброшенных из фоновых потоков или задач, которые вы могли бы начать? –

+0

@DarinDimitrov Да, я просматриваю некоторые сборки, чтобы найти некоторые интерфейсы, а некоторые сборки бросают исключение, а затем я завершаю их в myException и восстанавливаю их. Затем мне нужно, чтобы мое исключение было showon на моем представлении, также я хочу обработчик исключений globlal, так как могут быть другие исключения, и я хочу показать их в своем представлении. – RezaRahmati

ответ

1

здесь вы :-)

protected void Application_Error() 
     { 
      HttpContext httpContext = HttpContext.Current; 
       if (httpContext != null) 
       { 
        RequestContext requestContext =((MvcHandler)httpContext.CurrentHandler).RequestContext; 
       } 
     } 
Смежные вопросы