HttpContext.Actuel.Demande.IsAjaxRequest (en) erreur dans la MVC 4

Je suis en utilisant

HttpContext.Current.Request.IsAjaxRequest() 

condition à vérifier pour une requête ajax mondiale.asax dans Application_Error méthode, mais j'obtiens l'erreur ci-dessous:

'Système.Web.HttpRequest' ne contient pas une définition pour
'IsAjaxRequest" et la meilleure méthode d'extension de surcharge
'Système.Web.Mvc.AjaxRequestExtensions.IsAjaxRequest(Système D'.Web.HttpRequestBase)'
a quelques arguments non valides

Ci-dessous le code:

void Application_Error(object sender, EventArgs e)
    {

        Exception exception = Server.GetLastError().GetBaseException();
        HttpException httpException = exception as HttpException;

        string ErrorMessage = "";
        ErrorMessage = "Application Level Error";


        logger.Error(ErrorMessage, exception);

        if (System.Web.HttpContext.Current.Request.IsAjaxRequest()) //if its an ajax do not redirect
        {
            return;
        }
    else
    {
      Server.ClearError();
      this.Response.RedirectToRoute("Default", new { controller = "Home", action = "Error" });
    }
  }
Soins de partager le code?
modifié la question d'ajouter le code.
Essayez new HttpRequestWrapper(System.Web.HttpContext.Current.Request).IsAjaxRequest() IsAjaxRequest() prend un HttpRequestBase qui est différent d'un HttpRequest (et non liés, de sorte qu'il est un peu déroutant). Je pense que le wrapper de résoudre votre problème.
Merci ça a fonctionné.

OriginalL'auteur desiguy | 2013-01-31