【问题标题】:Setting IIS Settings in Web.config using ASP.NET MVC 6使用 ASP.NET MVC 6 在 Web.config 中设置 IIS 设置
【发布时间】:2015-06-12 10:24:18
【问题描述】:

默认情况下,ASP.NET MVC 6 项目不附带 Web.config 文件。但是,如果要使用 IIS,则需要在 wwwroot 文件夹下添加一个。关于在 IIS 下运行 MVC 6 站点的信息似乎很少(99% 的人都愿意这样做)。

  1. 您如何着手创建 Debug/Release 或 Web.config 文件的新世界 Development/Staging/Production 版本。
  2. appSettings 和 connectionStrings 现在已弃用,取而代之的是新的 Configuration 模型。
  3. 是否还能使用system.web下的认证、缓存、编译、customErrors、httpCookies、sessionState、trace等设置?
  4. 运行时程序集绑定的呢?我们还需要这些吗?
  5. HTTP 处理程序呢?在 MVC 5 中,我们必须在发布版本中删除 Trace 处理程序,否则在导航到 /Trace.axd 时出现 500 Internal Server 错误,而不是 404 Not Found。我们还需要删除它们吗?

【问题讨论】:

    标签: asp.net .net asp.net-mvc iis asp.net-core-mvc


    【解决方案1】:

    他们并没有真正构建 ASP.NET 5 的大部分文档,但 the instructions for publishing to IIS 相当清楚。

    此过程会为您生成一个非常小的web.config。例如:

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <appSettings>
        <add key="bootstrapper-version" value="1.0.0-beta6-11895" />
        <add key="runtime-path" value="..\approot\runtimes" />
        <add key="dnx-version" value="1.0.0-beta6-12005" />
        <add key="dnx-clr" value="clr" />
        <add key="dnx-app-base" value="..\approot\src\Sample" />
      </appSettings>
    </configuration>
    

    除此之外,它看起来像 IIS 的 system.webServer section will be respected,包括压缩和缓存。

    【讨论】:

    • 不错的发现。我还提到了能够将 &lt;customErrors mode="Off" /&gt; 用于 Azure。当然,我们可以使用 system.webServer 部分指定 IIS 特定设置,例如 GZIP 压缩等?
    • 你是对的,看起来@Eilon 已经发布了确切的信息:stackoverflow.com/a/28729705/195653
    • 感谢@MattDeKrey。我不敢相信没有这方面的信息。它是 ASP.NET MVC 6 的主要用例。我认为第一个问题仍然没有答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2010-11-19
    • 1970-01-01
    • 2010-11-17
    • 2020-12-25
    • 1970-01-01
    相关资源
    最近更新 更多