【问题标题】:what is the function of webpages:Enabled in MVC 3 web.config网页的功能是什么:在 MVC 3 web.config 中启用
【发布时间】:2011-06-20 15:24:52
【问题描述】:

我刚刚开始了一个新的 MVC 3 项目。谁能告诉我是什么

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

在我的 web.config 文件中有吗?

【问题讨论】:

标签: asp.net-mvc-3


【解决方案1】:

webPages:enabled 的值为 false 可防止从 Web 浏览器直接访问 Views 文件夹中的 .cshtml.vbhtml 文件。

【讨论】:

  • 实际上它可以防止它们被直接访问,无论它们位于应用程序中的哪个位置。在视图文件夹中,在根目录中,在不同的文件夹中......没关系,您会遇到相同的错误。 The type of page you have requested is not served because it has been explicitly forbidden
  • 这不是“BlockViewHandler”配置的用途吗?有什么区别?
  • 抱歉,在 Mono 上运行 Nancy 项目,此设置通过 nuget 出现。所以我想知道,这是 IIS 的事情,MVC 3 的事情,还是堆栈的哪一部分实际使用了这个设置?
  • 默认情况下我不允许查看视图,但如果我添加此设置并将其设置为 false,它们现在会被解析并尝试查看。
  • WebPages:Enabled 无论值为true还是false都启用,默认值为null。
【解决方案2】:

根据文档,它可以防止直接访问 .cshtml 和 .vbhtml 文件(例如www.myweb.com/views/home/index.cshtml

【讨论】:

  • 我一直在搜索,但找不到对此进行解释的参考。我特别想知道的是完全省略&lt;add key="webpages:Enabled" value="???"&gt; 的效果是什么。默认是true 还是false
  • 所以我已经深入研究了源代码,默认值实际上是null - 这意味着如果应用程序包含任何*.cshtml*.vbhtml 文件,则启用网页。可以通过将此值设置为truefalse 来禁用检查文件。你可以自己看看here
  • 根据哪个文档?
【解决方案3】:

要允许提供 Razor 页面,仅设置 &lt;add key="webpages:Enabled" value="true" /&gt; 是不够的。您还需要使用 NuGet 将 Microsoft.AspNet.WebPages 包添加到 packages.config

【讨论】:

    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 2013-04-06
    • 2011-02-27
    • 2012-10-09
    • 2021-09-02
    相关资源
    最近更新 更多