หน้าที่ของเว็บเพจคืออะไร: เปิดใช้งานใน MVC 3 web.config


200

ฉันเพิ่งเริ่มโครงการ MVC 3 ใหม่ มีใครบอกฉันได้ไหม

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

ในไฟล์ web.config ของฉันทำอย่างไร



1
จะเป็นประโยชน์หากคุณทราบว่าจะเกิดอะไรขึ้นหากตั้งค่าไว้และคุณพยายามเรียกดูไฟล์. chstml คุณได้รับข้อผิดพลาด "ไม่ได้แสดงหน้าประเภทนี้" ใช้เวลาหลายชั่วโมงกับสิ่งนี้: / stackoverflow.com/questions/12533605/ …
เดฟสแวร์กี้

คำตอบ:


239

webPages:enabledด้วยค่าfalseป้องกัน.cshtmlหรือ.vbhtmlไฟล์ในViewsโฟลเดอร์จากการเข้าถึงโดยตรงจากเว็บเบราว์เซอร์


21
จริงๆแล้วมันป้องกันไม่ให้พวกเขาเข้าถึงโดยตรงไม่ว่าพวกเขาจะอยู่ที่ไหนในแอปพลิเคชัน ในโฟลเดอร์มุมมองในรูทในโฟลเดอร์อื่น ... ไม่สำคัญว่าคุณจะได้รับข้อผิดพลาดเดียวกัน The type of page you have requested is not served because it has been explicitly forbidden
Nick Albrecht

5
นั่นคือสิ่งที่การกำหนดค่า "BlockViewHandler" มีไว้เพื่ออะไร? อะไรคือความแตกต่าง?
Tom Pažourek

ขออภัยการใช้งาน Nancy project บน Mono และการตั้งค่านี้ปรากฏผ่านทาง nuget ดังนั้นฉันสงสัยว่านี่คือสิ่ง IIS และสิ่ง MVC 3 หรือส่วนใดของสแต็คที่ใช้การตั้งค่านี้จริงหรือไม่
Frank Schwieterman

ฉันไม่ได้รับอนุญาตให้ดู Views เป็นค่าเริ่มต้น แต่ถ้าฉันเพิ่มการตั้งค่านี้และตั้งค่าเป็นเท็จตอนนี้พวกเขาจะถูกวิเคราะห์และพยายามดู
Brunis

หน้าเว็บ: เปิดใช้งานเปิดใช้งานไม่ว่าจะเป็นค่าจริงหรือเท็จค่าเริ่มต้นเป็นโมฆะ
Brunis

28

ตามเอกสารอธิบายจะป้องกันไฟล์. cshhtml และ. vbhtml ไม่ให้เข้าถึงโดยตรง ( www.myweb.com/views/home/index.cshtmlตัวอย่าง)


1
ฉันค้นหามาแล้ว แต่ไม่สามารถหาข้อมูลอ้างอิงที่อธิบายได้ สิ่งที่ฉันอยากรู้เป็นพิเศษคืออะไรคือผลของการละเว้น<add key="webpages:Enabled" value="???">ทั้งหมด เป็นค่าเริ่มต้นtrueหรือfalse?
StarNamer

2
ดังนั้นฉันจึงขุดลงในซอร์สโค้ดและค่าเริ่มต้นนั้นจริงnull- หมายความว่าเปิดใช้งานหน้าเว็บหากแอปพลิเคชันมีไฟล์ใด ๆ*.cshtmlหรือ *.vbhtmlการตรวจสอบไฟล์ที่สามารถใช้งานอย่างใดอย่างหนึ่งโดยการตั้งค่านี้หรือtrue falseคุณสามารถดูตัวเองที่นี่
LukášNovotný

ตามเอกสารอะไร?
Kissaki

1

<add key="webpages:Enabled" value="true" />ที่จะช่วยให้หน้ามีดโกนที่จะได้รับก็ไม่พอที่จะตั้ง คุณต้องเพิ่มแพ็คเกจ Microsoft.AspNet.WebPages เพื่อpackages.configใช้งาน NuGet

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.