2016-06-30 1 views
0

In einer alten MVC-Anwendung habe ich diese (einfache HTTPGET) Controller-Aktion, die einen Abfragezeichenfolgenparameter akzeptiert und basierend darauf eine Umleitung ausführt. Es wird immer zu einer anderen Aktion umgeleitet. Wenn die Abfragezeichenfolge jedoch mit . endet, wird die Aktion zweimal ausgeführt. Zuerst wird es mit dem richtigen Parameter und das zweite Mal mit dem gleichen Parameter, aber ohne den Punkt ausgeführt. Der Benutzer erhält schließlich das Ergebnis vom zweiten (inkorrekten) Lauf und die Umleitung vom ersten Lauf wird ignoriert.Controller-Aktion wird zweimal aufgerufen, wenn Abfragezeichenfolge mit einem Punkt endet

Wenn die Abfragezeichenfolge nicht mit einem Punkt endet, ist alles in Ordnung und die Aktion wird nur einmal aufgerufen.

Hat jemand eine Idee, wie Sie dieses Problem lösen können?

Antwort

0

Aus Verzweiflung schaute ich in Global.asax mit der Absicht für Schritt eine Anfrage Schritt des debuggen. Zu meiner Überraschung fand ich Application_PreSendRequestHeaders Methode dort, die die Umleitung gemacht hat. Ich weiß überhaupt nicht, warum ich nicht schon früher dort nachgesehen habe. Ich bin sicher, dass ich gefragt habe, wann ich auf dieses Problem gestoßen bin, aber diese Weiterleitung wurde vor so langer Zeit von einem meiner Kollegen geschrieben, dass er sich nicht einmal daran erinnern konnte, es dort geschrieben zu haben.

Es ist sicherlich eine seltsame Art und Weise, um eine Umleitung zu machen (es war mit dem Header unordentlich) und als Nebeneffekt war es die Aktion zweimal aufrufen.

+0

Die Antwort stellte sich als etwas enttäuschend heraus, aber ich bin sicher, dass das Thema jetzt vorbei ist. – jahu

0

Setzen Sie diese in Ihrer Web.config

<configuration> 
    <system.webServer> 
     <modules runAllManagedModulesForAllRequests="true" /> 
+0

Ich habe dies in meinem Web, Config, aber das Problem ist, dass es nicht funktioniert. Was noch merkwürdiger ist, ist, dass ich eine andere fast identische App habe, die läuft, und sie hat diesen Fehler nicht. – jahu

Verwandte Themen