Ein kleines Problem von ASP.NET MVC liegt darin, dass es nur unter dem IIS7 läuft. Für den IIS7 braucht man aber Windows Server 2008 R2 bzw. Windows 7. Was ist wenn man dafür aber eben mal keine Lizenz hat sondern auf XP ausweichen muss? Dann muss man sich mit einem Workaround behelfen.
Einige habe ich auf codeville.net gefunden.
Ausprobiert habe ich selber nur „Option 2“. Dazu änderte ich in der Global.asax die Default-MapRoute:
routes.MapRoute(
"Default", // Route name
"{controller}.aspx/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Sofern im Projekt die Links über z.B. Html.ActionLink() erstellt werden, läuft das Projekt nun ohne weitere Probleme. Die Urls sehen nun so aus: http://localhost/Home.aspx/Index/123
Ist zwar nicht so der Hit, aber die einfachste Möglichkeit ohne viel gefrickel.
Aber etwas solltet ihr beachten. Sofern ihr die Authentifizierung nutzt, sollte ihr in der Web.config den Pfad zur Loginurl ändern:
<forms loginUrl="~/Account.aspx/LogOn" timeout="2880" />
Dann klappt es auch mit dem Nachbarn 🙂