【问题标题】:Change maximum request length in asp.net mvc without modifying web.config在不修改 web.config 的情况下更改 asp.net mvc 中的最大请求长度
【发布时间】:2016-01-27 22:34:05
【问题描述】:

正如问题所暗示的,是否可以在不修改 web.config 文件的情况下更改 asp.net mvc 项目中的最大请求长度?

该项目位于多个客户端服务器上,我不想为每个客户端手动更改,因此希望我可以在 global.asax 中放置一些东西来代替或类似地编写它?

编辑: 或者是否可以仅使用我要覆盖的设置添加另一个配置文件?

【问题讨论】:

  • 尝试使用这个属性:msdn.microsoft.com/en-us/library/…
  • 知道 configSection 对象与什么有关吗?
  • 也说它是只读的
  • 你是说 machine.config 吗?
  • 不,我的意思是 web.config。基本上我想覆盖应用程序的最大请求长度,而不必修改 web.config、iis 或 machine.config,因为每个客户端都需要更改。

标签: c# asp.net-mvc


【解决方案1】:

我认为这是不可能的,因为网络配置存储了您的应用程序用来定义其行为方式的配置值 - 在这种情况下,是您需要传递的数据的长度。

You would need to modify the web.config as follows:


<configuration>
    <system.web>
        <httpRuntime maxRequestLength="1048576" />
    </system.web>
</configuration>

如果你在上面的IIS7上,还需要配置以下内容:

<system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
   </security>
 </system.webServer>

附加说明:ma​​xAllowedContentLength 以字节为单位,而 ma​​xRequestLength 以千字节为单位

您有一些选择:

  1. Powershell 脚本,它将读取不同服务器上的 web.config 文件并相应地更新配置值。

  2. 通过 FTP 或发布直接上传 Web 配置。

  3. 直接在服务器实例上修改 Web 配置。

【讨论】:

  • Views 文件夹有一个 web.config 作为默认设置的一部分来覆盖某些设置,是否可以将另一个添加到类似的地方,例如控制器来覆盖它?我尝试了 web.config 本身,但没有覆盖它
  • @user no,Views/Web.config 仅适用于 Razor 编译器。它不会以任何方式覆盖任何内容。
猜你喜欢
  • 1970-01-01
  • 2018-04-14
  • 2020-11-09
  • 2021-11-27
  • 1970-01-01
  • 2020-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多