Der Apache Web Server hat das nette Feature (man kann es auch abschalten, aber oft ist es schon wegen Groß- und Kleinschreibung sehr nützlich), dass beim Zugriff auf eine Datei, die es nicht gibt, eine andere gemeldet wird, die so ähnlich heißt. Bei meinem kleinen Jump&Run Exkurs erwies sich das als recht lästig.
Und das kam so: es gibt die Möglichkeit, mehrere Spielfuguren zu definieren und dann eine zum Spielen auszuwählen. Dazu macht der Silverlight Code Web Zugriffe (HttpWebRequest.Create) auf Dateien mit dem Namensmuster figur/Spieler01.xaml, figur/Spieler02.xaml usw. Wird die Datei nicht gefunden, so endet die Suche. Beim Microsoft IIS Web Server geht das so auch, Apache antwortet bei dem Zugriff auf figur/Spieler02.xaml einfach mit einem Redirect auf figur/Spieler01.xaml. Will man die Redirects im HttpWebRequest nicht grundsätzlich verbieten, weil damit andere Nachteile verbunden sind, steht man erst einmal auf dem Schlauch.
Ich habe als relativ sicheren Ansatz für mein Problem die ResponseUri im HttpWebResponse mit der angeforderten Adresse verglichen. Sind diese nicht identisch, gehe ich von einem Redirect aus und nehme an, dass die angeforderte Datei so nicht existiert. Das ist aber keine grundsätzliche Lösung und kann zu anderen Problemen führen – etwa wenn nur die Schreibweise anders ist. Als schnelle Hilfe aber allemal ausreichend.
Jochen