Ich habe ein seltsames Problem, die nicht wissen, wie zu lösen.http Anfrage nicht Pfad von Querystring in einigen Anfrage
Das übliche Verhalten für .net ist, wenn Sie eine URL haben wie: /action?id=abc&=type=3
die Servervariablen wie sind:
URL: /action
PATH_INFO: /action
QUERY_STRING: id=abc&=type=3
Aber hier, um das seltsame Verhalten kommt, wenn die Anfrage kommt von Medienpartner-google, die Servervariablen teilen sie die URL nicht auf das Fragezeichen und sind:
URL: /action?id=abc&=type=3
PATH_INFO: /action?id=abc&=type=3
QUERY_STRING:
So ist die Routing-Engine versucht, einen Aktionsnamen action?id=abc&=type=3
genannt zu finden und findet es nicht, den Fehler 404 bereitstellt.
Weiß jemand, warum das passiert?
Die Route funktioniert gut, wenn sie von einem Browser aufgerufen wird, wenn sie von mediapartners-google aufgerufen wird, wenn sie nicht funktioniert. Die Servervariablen werden aufgefüllt, bevor das mvc-Framework zur Aktion kommt. – Jokin
Ich weiß überhaupt nicht, wie es überhaupt möglich wäre, eine URL, auf die von mediapartners-google zugegriffen wird, anders zu behandeln als eine URL, auf die über den Browser zugegriffen wird. Eine URL ist eine URL ist eine URL. Daher ist die logische Annahme, dass die URL irgendwie anders ist. Ich würde die absoluten URLs in global.asax.Application_BeginRequest protokollieren und sehen, was Sie bekommen. Es muss etwas anderes in der Bitte sein, dass dies geschieht ... –