Frage : Auf Antragüberschrift in C# zurückgreifen

Ich versuche, Global.asax zu verwenden, um zu tun umadressiere in meiner Web site. Ich habe Code, der arbeitet, wenn die erbetene Seite eine .aspx Seite ist. Jedoch, wenn ein nicht vorhandenes Faltblatt wie /products verlangt wird, beende ich oben auf den 404 Störungen, die page.

I das ieHttpHeaders Werkzeug herunterlud, und ich sehe diese Überschriften in der Störungsseite:

GET /products HTTP/1.1
Accept: */*
Accept-Language: en-wir
UA-CPU: x86
Accept-Encoding: gzip, entlüften
User-Agent: Mozilla/4.0 (kompatibel; MSIE 7.0; Windows NT 5.1; .NET CLR 3.0.04506.30; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Host: Entwickler-wwwasaorg
Connection: Keep-Alive

If, das ich auf die erste Linie dieser Überschriften in C# zurückgreifen könnte, ich, könnte den Code schreiben, um zu tun, was ich benötige. Jedoch kann ich nicht scheinen, herauszufinden, wie man auf ERHALTEN zurückgreift.
Request.ServerVariables [„ALL_HTTP“] gibt mir alles nach der ersten Linie. Nichts, das ich versuche, gibt mir die erste Linie.
Any Hilfe geschätztes…

Antwort : Auf Antragüberschrift in C# zurückgreifen

Wenn Sie einen Antrag für eine Akte (oder Faltblatt) von einem IIS Bediener stellen, IIS zuerst Überprüfungen, wenn die Akte existiert - wenn nicht Sie die 404 Störungen erhalten - wenn er existiert, überprüft er die Verlängerung der erbetenen Akte, und wenn es ist, übergibt .aspx IIS den Antrag weg zu. Nettomaschine.

So in Ihrem Fall, da die Akte nicht existiert, gegeben der Antrag nie zu. Nettoverarbeitenmaschine - so läuft Ihr Code nie.  Die Weise, um dieses zu erhalten ist bis entweder 1) sicherstellen, dass die Akte/das Faltblatt existiert (selbst wenn es im Allgemeinen leer ist), oder 2) IIS irgendwie überprüfen nicht tun und jeden Antrag zu gerade automatisch geben lassen. Netz.

Sind Sie auf IIS 7 oder 6?

Weitere Lösungen  
 
programming4us programming4us