Was ist die Funktion von Webseiten: Aktiviert in MVC 3 web.config


200

Ich habe gerade ein neues MVC 3-Projekt gestartet. Kann mir jemand was sagen

<add key="webpages:Enabled" value="false" />

in meiner web.config Datei tut das?



1
Es wäre hilfreich zu notieren, was passiert, wenn dies festgelegt ist und Sie versuchen, eine .chstml-Datei zu durchsuchen. Sie erhalten die Fehlermeldung "Dieser Seitentyp wird nicht bereitgestellt." Verbrachte Stunden auf diesem: / stackoverflow.com/questions/12533605/…
Dave Swersky

Antworten:


239

webPages:enabledmit dem Wert falseverhindert .cshtmloder .vbhtmlDateien im ViewsOrdner direkt von einem Web - Browser zu sein.


21
Tatsächlich wird verhindert, dass sie direkt darauf zugreifen können, unabhängig davon, wo sie sich in der Anwendung befinden. Im Ansichtsordner, im Stammverzeichnis, in einem anderen Ordner ... spielt es keine Rolle, dass Sie denselben Fehler erhalten. The type of page you have requested is not served because it has been explicitly forbidden
Nick Albrecht

5
Ist das nicht der Zweck der "BlockViewHandler" -Konfiguration? Was ist der Unterschied?
Tom Pažourek

Es tut uns leid, ein Nancy-Projekt auf Mono auszuführen, und diese Einstellung wurde über Nuget angezeigt. Ich frage mich also, ob dies eine IIS-Sache und eine MVC 3-Sache ist oder welcher Teil des Stapels diese Einstellung tatsächlich verbraucht.
Frank Schwieterman

Ich darf Ansichten standardmäßig nicht sehen, aber wenn ich diese Einstellung hinzufüge und auf false setze, werden sie jetzt analysiert und versucht, angezeigt zu werden.
Brunis

Webseiten: Aktiviert aktiviert, ob der Wert wahr oder falsch ist, der Standardwert ist null.
Brunis

28

Laut Dokumentation wird verhindert, dass direkt auf .cshtml- und .vbhtml-Dateien zugegriffen wird ( www.myweb.com/views/home/index.cshtmlzum Beispiel).


1
Ich habe gesucht, kann aber keine Referenz finden, in der dies erklärt wird. Was ich speziell wissen möchte, ist, wie sich das <add key="webpages:Enabled" value="???">vollständige Weglassen auswirkt . Ist die Standardeinstellung trueoder false?
StarNamer

2
Also ich dug in den Quellcode und den Standardwert haben , ist tatsächlich null- was bedeutet , dass Web - Seiten aktiviert werden , wenn die Anwendung jeder enthält *.cshtmloder *.vbhtmlDateien. Das Suchen nach Dateien kann entweder deaktiviert werden, indem dieser Wert auf trueoder gesetzt wird false. Hier können Sie sich selbst davon überzeugen .
Lukáš Novotný

Nach welcher Dokumentation?
Kissaki

1

Das Bereitstellen von Razor-Seiten reicht nicht aus <add key="webpages:Enabled" value="true" />. Sie müssen auch das Microsoft.AspNet.WebPages-Paket zur packages.configVerwendung von NuGet hinzufügen .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.