Heute hatte ich folgenden Fall einer ASP.NET-Core-2.2-Anwendung, die in-process im IIS gehostet ist:
- Anwendung liegt auf
https://www.example.org/MyApp
- Ein Controller bzw. eine Route heißt so wie der Unterordner („MyApp“).
Diese Anwendung hat sich dann beim Navigieren innerhalb der Anwendung falsch verhalten.
Beispielsweise heißt eine URL dann fälschlicherweise so:
https://www.example.org/MyApp/MyApp/SomeAction/5
anstatt:
https://www.example.org/MyApp/SomeAction/5
Es wird also ein „MyApp“ zu viel eingefügt.
Lösung
Bei mir hat nur geholfen, die Anwendung entweder in einen anderen Unterordner zu veröffentlichen (z. B. „MyProg“), oder die Route/Controller/View umzubenennen (z. B. „Shop“).
Kurz: eine Route/Controller/View sollte nicht so heißen wie der virtuelle Ordner, in dem die Anwendung publiziert wird.