Wie kann ich „glatt“ Format Httphandler URI?
-
02-07-2019 - |
Frage
Ich bin einmischen nur in den Wegen des RESTful Web-Service in C # ASP.Net 2.0 und haben es geschafft, (über eine Klassenbibliothek, ein Verweis von der ehemaligen und eine gewisse Anpassung meiner web.config produziert DLL) entlocken einen URI-Format wie folgt:
http: // localhost / DevelopmentProject / testhandler / input = thisismyinput
Welche unremarkably gibt nur die Eingabe als ein Stück Text mit der erleuchtenden Vorsilbe „Ihre Eingabe wurde:“
Ich habe den Eindruck, dass ich die URI weiter, um etwas mehr entlang der Linien von ensmoothened zu werden bekommen konnte:
http: // localhost / DevelopmentProject / testhandler / thisismyinput
und das gleiche Ergebnis haben, haben aber keine Ahnung, wie der nervtötende loswerden „? Input =“
Der Eintritt in den Httphandlers Abschnitt meiner web.config ist (Leerzeichen hinzugefügt, so Code-Displays):
Ich bin mit IIS 5.1 auf dem lokalen Rechner, wird dies ein Problem vorstellen?
Im Wesentlichen wohin gehe ich falsch?
Danke.
Lösung 3
Andere Tipps
Eine Lösung ist URLRewriting zu verwenden, um die URL zu umschreiben, was Sie brauchen.
Ich benutze http://urlrewriter.net/ alle meine Umschreiben zu tun, und man konnte Setup etwas wie dies in Ihrem Szenario
<rewriter>
<rewrite
url="DevelopmentProject/testhandler/([\w]+)"
to="DevelopmentProject/testhandler/?input=$1" />
</rewriter>
Dies würde bleiben "http: // localhost / DevelopmentProject / testhandler / thisismyinput" in der Browser-Adressleiste, noch Prozess als "http: // localhost / DevelopmentProject / testhandler / input = thisismyinput"
Sie können URL-Rewriting, mit so etwas wie URLRewriter.net implementieren Das würden Sie die Syntax verwenden, die Sie erwähnt haben.
Ändern Sie Ihre Konfiguration aus:
Überprüfen Sie den Wert von Request.PathInfo out in Ihrem Handler Process Funktion mit einer URL wie http:. // localhost / DevelopmentProject / testhandler / thisismyinput
Wenn das tut es nicht, stellen Sie sicher, dass IIS 5.1 routet alle Anforderungen an den aspnet_isapi.dll. (Obwohl, es ist wie es scheint, schon ist) Dies ist die "Konfiguration ..." Button> "App Mappings" in Ihrem virtuellen Verzeichnis in IIS.