2017-08-30 1 views
0

J'ai une application ASP.NET Web Forms. Dans cette application, sur l'une des formes que je télécharge un fichier, puis rediriger vers une certaine page:Autre redirection dans ASP .NET

  string UrlToRedirect = ""; 

      if (formKey != null) 
       UrlToRedirect = httpRequest.UrlReferrer.GetLeftPart(UriPartial.Path) + "?id=" + formKey.FormKey1.ToString(); 
      else 
       UrlToRedirect = httpRequest.UrlReferrer.GetLeftPart(UriPartial.Path) + "?state=" + result; 

      var response = Request.CreateResponse(HttpStatusCode.Moved); 
      response.Headers.Location = new Uri(UrlToRedirect); 
      return response; 

Pour des raisons inconnues (je ne l'ai jamais été en mesure de le reproduire) Je reçois parfois une erreur sur la production. Comme je n'arrive pas à le reproduire, je suis un peu lié ... Je dois le réparer, mais je ne sais pas vraiment ce qui ne va pas.

Donc, je me demandais, est-il un autre moyen d'obtenir une redirection?

+0

Quelle erreur obtenez-vous sur la production? – krlzlx

Répondre

0

Je sais peut-être ce qui cause votre erreur car je poursuivais un problème similaire depuis un certain temps. L'accès à httpRequest.UrlReferrer peut être lancé si l'en-tête contient une URL de renvoi mal formée qui peut parfois arriver. Donc, vous devez envelopper tout ce code dans un bloc try catch.