Läuft ein ASP.NET MVC-app von einem virtuellen Verzeichnis in IIS 7
Ist es möglich, eine MVC-Anwendung über ein virtuelles Verzeichnis in IIS 7? Ich habe gebaut, ein open-source-Dienstprogramm app in ASP.NET MVC3 und Frage mich, ob das ein Fehler war; es ist wahrscheinlich, wenn der Standort nicht ausgeführt werden kann von einem virtuellen Verzeichnis.
Nehmen Sie ein einfaches Standard-route von /home/index, wenn die von einem virtuellen Verzeichnis mit dem Namen " /app, werden tatsächlich /app/home index. Die Art des Kasinos Dinge für das routing.
Ich glaube nicht, dass ein Benutzer zu ändern Routen und kompilieren Sie das Projekt zur Verwendung der app in einem virtuellen Verzeichnis. Gibt es eine Möglichkeit, ändern Sie eine Konfiguration parameter geben Sie an, was den root-Ordner-was ist die Anwendung?
InformationsquelleAutor Brettski | 2011-06-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nicht nur, dass es möglich ist, aber es ist der bevorzugte Weg.
Nicht, wenn Sie Html-Helfer beim Umgang mit urls, die werden sich darum kümmern.
Hier ist ein typisches Beispiel für das, was Sie nie tun sollten:
und hier ist, wie dies getan werden sollte:
Hier ist ein weiteres typisches Beispiel für etwas, das Sie nie tun sollten:
und hier ist, wie diese geschrieben werden soll:
Hier ist ein weiteres Beispiel für etwas, das Sie nie tun sollten:
und hier ist, wie diese geschrieben werden soll:
Ich denke, Sie erhalten den Punkt.
weil jeder ASP.NET Anwendung (es ist egal, ob MVC oder nicht) müssen sich in einem virtuellen Verzeichnis. Wenn Sie es bereitstellen, bei der im Stammverzeichnis der Website, diese Website root noch stellt ein virtuelles Verzeichnis.
OK hab es. Aber es ist nichts gegen das bereitstellen auf der Website root.
Was rufe ich innerhalb einer Klasse (kein controller-Klasse oder Sicht), um den Pfad auf z.B. /home/index?
Denn als Entwickler sollten wir mit ECHTEN Werkzeugen, die gleichen tools, die wir würden Sie in ein dev, staging-oder Produktionsserver. Warum würde jemand wollen, verwenden einige dumme Scheiße cassini...es verursacht Probleme, die ich brauche nicht in die details gehen, warum...schauen Sie. Warum NICHT IIS werden sollte, ist die Frage. Die Dev-community ist ein Haufen von faulen ärsche, die nicht wollen, zu lernen, wie Sie Ihren job zu machen...gehört, ist, zu lernen, IIS, so können Sie lernen, wie die app-pools arbeiten, Seite-Handler, und so viel mehr. Holen Sie sich in das Ballspiel, aufhören, beschissene cassini. DAS IST, WARUM.
InformationsquelleAutor Darin Dimitrov
Ja, das funktioniert, und Nein, es nicht versauen routing. Jedoch, die app, die Sie ausführen können buggy sein und keine Unterstützung für diese Konfiguration.
Brauchen Sie nicht "configuration parameter", da IIS und ASP.NET bereits diese richtig verarbeiten.
Sie müssen jedoch zu vermeiden, hart-kodierte URIs in Ihren Ansichten.
E. g., tun Sie dies:
...statt:
...und gleichermaßen für links-und Stylesheet-Referenzen.
InformationsquelleAutor Craig Stuntz
Ja, das funktioniert. Und wie lange bist du mit dem helper-Methoden zum erstellen von action-URLs (z.B.
<%=Html.ActionLink(...) %>
es gibt keine Notwendigkeit, neu zu konfigurieren oder neu kompilieren.genau (siehe auch Darin die ausführliche Antwort).
InformationsquelleAutor M4N
soweit ich weiß, die Routen sind alle auf den root der Anwendung, nicht die eigentliche Wurzel, also von Ihnen denken, als Anfang mit
~/
, nicht/
InformationsquelleAutor nathan gonzalez