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?

ftnilsson
quelle
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.

Neil Knight
quelle
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).

Lukáš Novotný
quelle
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 .

Ron Inbar
quelle