【问题标题】:.NET doesn't read properly web.config?.NET 无法正确读取 web.config?
【发布时间】:2012-03-24 22:24:07
【问题描述】:

我有

   <system.web>
        <httpRuntime maxRequestLength="500000000"  />
    </system.web>

但是当我通过

阅读 web.config
 Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath);

            HttpRuntimeSection section =
              (HttpRuntimeSection)config.GetSection("system.web/httpRuntime"); 

我看到 maxRequestLength4096 值!!

怎么可能??感谢您提供任何线索!

附:它是 ASP .NET MVC3 Razor 项目

【问题讨论】:

  • 我有一个类似的问题,我从未完全解决,但在这种情况下,一些答案可能会有所帮助。见stackoverflow.com/questions/7536550/…
  • "理论上,最大文件上传大小是相当大的。但是,由于ASP.NET健康监控,您不能在ASP.NET中上传非常大的文件。ASP.NET工作进程有一个 2 GB 的虚拟地址空间。但是,由于运行状况监控和内存碎片,ASP.NET 工作进程只使用了 1 GB 多一点。" support.microsoft.com/kb/295626/en-us

标签: .net asp.net-mvc-3 web-config


【解决方案1】:

我的猜测是 500,000,000 Kb 高于 maxRequestLength 属性的最大值,因此它被分配了默认值 (4,096)。文档没有说明maxRequestLength 可以采用的最大值是多少,但我的猜测是 20,97,151 Kb,因为这大致等于 2^31 字节,即int 可以存储的最大值。

【讨论】:

  • 好的。但是我输入了任何值,即 100000,但无论如何我都看不到它
【解决方案2】:

有很多事情需要考虑:

  • 您的 元素是 元素的直接子元素吗?
  • 您的 web.config 文件是否位于 IIS 应用程序范围根目录的根目录中?
  • 元素是否锁定在“根”.config 文件中,因此值不能被其他配置文件覆盖?

如果您使用的是 IIS,那么我建议您使用配置编辑器来调查配置优先级。

【讨论】:

  • 你的 元素是 元素的直接子元素吗?是的
  • 您的 web.config 文件是否位于 IIS 应用程序范围根目录的根目录中?是的
猜你喜欢
  • 2018-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-02
  • 1970-01-01
  • 2013-12-15
  • 2021-12-07
相关资源
最近更新 更多