Chức năng của các trang web là gì: Được bật trong MVC 3 web.config


200

Tôi mới bắt đầu một dự án MVC 3 mới. Ai có thể cho tôi biết những gì

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

trong tập tin web.config của tôi không?



1
Sẽ rất hữu ích khi lưu ý điều gì xảy ra nếu điều này được đặt và bạn cố gắng duyệt tệp .chstml. Bạn nhận được lỗi "Loại trang này không được phục vụ." Đã dành hàng giờ cho việc này: / stackoverflow.com/questions/12533605/
trộm

Câu trả lời:


239

webPages:enabledvới giá trị falsengăn chặn .cshtmlhoặc .vbhtmlcác tệp trong Viewsthư mục có thể truy cập trực tiếp từ trình duyệt web.


21
Trên thực tế, điều đó ngăn họ truy cập trực tiếp bất kể họ cư trú ở đâu trong ứng dụng. Trong thư mục khung nhìn, trong thư mục gốc, trong một thư mục khác ... không quan trọng bạn gặp lỗi tương tự. The type of page you have requested is not served because it has been explicitly forbidden
Nick Albrecht

5
Không phải đó là cấu hình "BlockViewHandler" để làm gì sao? Sự khác biệt là gì?
Tom Pažourek

Xin lỗi, đang chạy một dự án Nancy trên Mono và cài đặt này xuất hiện qua nuget. Vì vậy, tôi tự hỏi, đây có phải là một điều IIS và MVC 3, hoặc phần nào của ngăn xếp thực sự tiêu thụ cài đặt này?
Frank Schwieterman

Tôi không được phép xem Chế độ xem theo mặc định, nhưng nếu tôi thêm cài đặt này và đặt thành sai, giờ đây chúng được phân tích cú pháp và cố gắng xem.
Brunis

WebPages: Đã bật cho phép nó cho dù giá trị là đúng hay sai, giá trị mặc định là null.
Brunis

28

Theo tài liệu, nó ngăn không cho các tệp .cshtml và .vbhtml được truy cập trực tiếp ( www.myweb.com/views/home/index.cshtmlví dụ)


1
Tôi đã tìm kiếm, nhưng không thể tìm thấy một tài liệu tham khảo nơi điều này được giải thích. Điều tôi đặc biệt muốn biết là ảnh hưởng của việc bỏ sót <add key="webpages:Enabled" value="???">hoàn toàn là gì . Là mặc định truehay false?
StarNamer

2
Vì vậy, tôi đã đào mã nguồn và giá trị mặc định thực sự null- có nghĩa là các trang web được bật nếu ứng dụng chứa bất kỳ *.cshtmlhoặc *.vbhtmltệp nào. Việc kiểm tra các tập tin có thể bị vô hiệu hóa bằng cách đặt giá trị này thành truehoặc false. Bạn có thể thấy cho chính mình ở đây .
Lukáš Novotný

Theo tài liệu nào?
Kissaki

1

Để cho phép các trang Dao cạo được phục vụ, không đủ để đặt <add key="webpages:Enabled" value="true" />. Bạn cũng cần thêm gói Microsoft.AspNet.WebPages để packages.configsử dụng NuGet.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.