web sayfalarının işlevi nedir: MVC 3 web.config'de etkin


200

Yeni bir MVC 3 projesi başlattım. Kimse bana ne söyleyebilir

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

web.config dosyamda?



1
Bu ayarlandıysa ve bir .chstml dosyasına göz atmaya çalıştığınızda ne olacağını not etmek yararlı olacaktır. "Bu tür bir sayfa sunulmuyor" hatasını alıyorsunuz. Bunun için saat geçirdim: / stackoverflow.com/questions/12533605/…
Dave Swersky

Yanıtlar:


239

webPages:enableddeğeri ile falseönler .cshtmlveya .vbhtmldosyaların Viewsbir web tarayıcısı doğrudan erişilebilir olmaktan klasörde.


21
Aslında, uygulamada nerede olurlarsa olsunlar, doğrudan erişmelerini engeller. Görünümler klasöründe, kökte, farklı bir klasörde ... aynı hatayı aldığınız önemli değildir. The type of page you have requested is not served because it has been explicitly forbidden
Nick Albrecht

5
"BlockViewHandler" yapılandırması bunun için uygun değil mi? Fark ne?
Tom Pažourek

Maalesef Mono'da bir Nancy projesi yürütüyor ve bu ayar nuget aracılığıyla ortaya çıktı. Merak ediyorum, bu bir IIS ve MVC 3 şey mi, yoksa yığının hangi kısmı aslında bu ayarı kullanıyor?
Frank Schwieterman

Varsayılan olarak Views'u görmeme izin verilmiyor, ancak bu ayarı ekler ve false olarak ayarlarsam, şimdi ayrıştırılır ve görüntülenmeye çalışırlar.
1919'da Brunis

Web Sayfaları: Etkin, değerin doğru veya yanlış, varsayılan değer null olmasını sağlar.
1919'da Brunis

28

Belgelere göre .cshtml ve .vbhtml dosyalarına doğrudan erişilmesini engeller ( www.myweb.com/views/home/index.cshtmlörneğin)


1
Arama yaptım, ancak bunun açıklandığı bir referans bulamıyorum. Özellikle bilmek istediğim, <add key="webpages:Enabled" value="???">tamamen atlamanın etkisinin ne olduğudur . Varsayılan mı trueyoksa false?
StarNamer

2
Bu yüzden kaynak kodunu araştırdım ve varsayılan değer aslında null- yani uygulama herhangi bir dosya *.cshtmlveya *.vbhtmldosya içeriyorsa web sayfalarının etkinleştirildiği anlamına gelir . Dosya kontrolü, bu değer trueveya olarak ayarlanarak devre dışı bırakılabilir false. Burada kendiniz görebilirsiniz .
Lukáš Novotný

Hangi belgelere göre?
Kissaki

1

Razor sayfalarının sunulmasına izin vermek için ayarlamak yeterli değildir <add key="webpages:Enabled" value="true" />. packages.configNuGet'i kullanarak Microsoft.AspNet.WebPages paketini de eklemeniz gerekir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.