3 Stimmen

Deaktivieren des Visual Studio Web Server Directory Browsing

Ich verwende den in Visual Studio eingebauten Webserver, um eine EPiServer-Anwendung zu testen. Wenn ich die Anwendung im IIS ausführe und auf das Stammverzeichnis des virtuellen Verzeichnisses klicke, übernimmt EPiServer die Aufgabe und sendet mir die Standardseite. Wenn ich den Visual Studion Server verwende (was ich aus Lizenzgründen mit dem SDK tue), erhalte ich immer die Ansicht "Directory Listing" meiner Website. Weiß jemand, wie man diesen Webserver so konfigurieren kann, dass er das Auflisten/Browsen des Verzeichnisses nicht zulässt?

Zusätzliche Informationen: Dieses Problem scheint nur den Root des visual studion Webservers zu betreffen (ich werde ihn von nun an cassini nennen). Wenn ich zum Beispiel eine Website von localhost:6666 aus betreibe, funktioniert localhost:6666/de/ einwandfrei und das EPiServer VPP weiß, was es tut. Wenn ich localhost:6666/ verwende, kommt das VPP nie zum Einsatz (zumindest scheint es so). Ich habe den Eindruck, dass beim Aufrufen der Root von cassini überprüft wird, ob die Seite existiert (was nicht der Fall ist, da ich keine Standardeinstellungen habe). Wenn es entscheidet, dass die Seite nicht existiert, dann wird die Verzeichnisauflistung angezeigt und nicht 404. Das erste, was ich tun muss, ist, das Durchsuchen von Verzeichnissen in cassini zu deaktivieren und dann zu prüfen, warum das VPP nicht korrekt ausgeführt wird.

Also nehme ich an, die Basis der Frage ist: Gibt es eine Möglichkeit, diese Einstellungen in Cassini zu ändern, wenn es Visual Studio ist alles starten?

(EPiServer könnte ein Ablenkungsmanöver sein, aber nur für den Fall, dass es sich um CMS Version 5 handelt)

Weiteres Update Es ist mir gelungen, die Quelle für Cassini 3.5 zu bekommen und habe es ausprobiert. 3.5 funktioniert einwandfrei und verhält sich in diesem Fall wie IIS. D.h. das Fehlen eines Standarddokuments führt nicht zu einem Verzeichniseintrag, sondern erlaubt es den HTTP-Handlern, sich einzuschalten, und EPiServer erledigt dann den Rest! Die Frage ist also, ob ich dasselbe mit Visual Studios auf einem Webserver erreichen kann.

3voto

Allan Thraen Punkte 151

Stellen Sie sicher, dass Sie eine ~/Default.aspx-Datei haben. Sie wird nicht gerendert, aber sie wird in Cassini benötigt, damit die Anbieter virtueller Pfade eine Chance haben, die Anfrage für '/' zu bearbeiten. Wenn Sie sie trotzdem erstellen, können Sie sie natürlich auch für die Startseite verwenden :-)

0voto

John Saunders Punkte 159011

Selbst wenn Sie den Server dazu bringen könnten, den Verzeichniseintrag nicht anzuzeigen, könnten Sie EPiServer dazu bringen, die Aufgabe zu übernehmen?


EDIT: Aus Kommentaren Die Tatsache, dass es mit /en/ funktioniert, lässt mich glauben, dass dies etwas ist, das Microsoft beheben könnte. Ich schlage vor, dass Sie den Hersteller fragen, ob er eine Lösung hat. Wenn nicht, dann erstellen Sie bitte einen Vorschlag unter http://connect.microsoft.com/visualstudio/ . Achten Sie darauf, dass Sie Details über EPIServer, URL zum Anbieter usw. angeben.

Seien Sie sich darüber im Klaren, dass es mit /en funktioniert, aber Sie wollen eine Einstellung, die es erlaubt, dass es im Stammverzeichnis funktioniert.

Sobald Sie den Vorschlag erstellt haben, bearbeiten Sie bitte Ihre Frage und fügen Sie den Link zu dem von Ihnen erstellten Vorschlag hinzu. Auf diese Weise können andere, die Ihre Frage lesen, darüber abstimmen, wie wichtig sie den Vorschlag finden.

0voto

MatthewMartin Punkte 31018

Der EpiServer-Teil verwirrt mich. Wenn Sie jedoch fragen, wie Sie die Standardseite für den VS-Entwicklungsserver (basierend auf dem Cassini-Code) festlegen, wird erwartet, dass Sie das in den Projekteigenschaften (Rechtsklick auf Webprojekt), Web, Start Action, Specific Page, foo.aspx tun.

Ich vermute, dass der cassini/VS-Entwicklungsserver keine Standardseitenfunktion hat - der Quellcode für den cassini-Server (der Vorgänger des VS-Entwicklungsservers) ist im Internet zu finden, und Sie können es überprüfen und fügen Sie eine Standardseite hinzu, indem Sie eine benutzerdefinierte Version erstellen. Und es hat nicht eine sehr lange Liste von anderen Funktionen, die IIS hat.

0voto

Johan Kronberg Punkte 1076

Welche EPiServer-Version verwenden Sie? Haben Sie ihn mit dem EPiServer Manager installiert?

Es gab schon immer einige Unterschiede in der Konfiguration, ob die Site im Root eines Hostnamens oder als (virtuelles) Verzeichnis ausgeführt wird.

Überprüfen Sie den Site-Einstellungsblock in der web.config und stellen Sie sicher, dass Sie eine default.aspx im Projektstamm haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X