ASP.NET-在运行时确定最大文件上传大小

杰伊·欧文

我在网站上的几个地方都有帮助文本,告诉用户允许的最大文件上传大小是多少。我希望能够使它具有动态性,这样,如果我更改了web.config文件中的请求限制,就不必在很多地方更改表单说明。是否可以使用ConfigurationManager或其他工具?

塞弗林·耶施克(Severin Jaeschke)

由于您没有提供更多详细信息:如此处所述,您有2个选项可以为整个应用程序设置大小限制。

取决于您需要采取一些不同的方法:

如果使用<httpRuntime maxRequestLength="" />,则可以通过WebConfigurationManager获取信息

//The null in OpenWebConfiguration(null) specifies that the standard web.config should be opened
System.Configuration.Configuration root = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(null);
var httpRuntime = root.GetSection("system.web/httpRuntime") as System.Web.Configuration.HttpRuntimeSection;
int maxRequestLength = httpRuntime.MaxRequestLength;

在Priciple中,您应该可以使用<requestLimits maxAllowedContentLength="" />但是system.webServer,WebConfigurationManager中的-Section被声明为IgnoreSection,并且无法访问。可以在application.config或类似的IIS中更改此行为。但是由于(就我而言)甚至.SectionInformation.GetRawXml()失败了,所以我倾向于宣布这是一个失败的案件。

在这种情况下,我的解决方案是手动访问Web.config-File:

var webConfigFilePath = String.Format(@"{0}Web.config", HostingEnvironment.MapPath("~"));
XDocument xml = XDocument.Load(System.IO.File.OpenRead(webConfigFilePath));
string maxAllowedContentLength = xml.Root
    .Elements("system.webServer").First()
    .Elements("security").First()
    .Elements("requestFiltering").First()
    .Elements("requestLimits").First()
    .Attributes("maxAllowedContentLength").First().Value;

@Roman此提出了另一种解决方案Microsoft.Web.Administration.ServerManager,您需要使用Microsoft.Web.Administration软件包使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何确定是否在运行时启用端点路由 ASP.Net Core

ASP .Net Core在运行时更改路由

在运行时裁剪图像ASP.NET

Asp.Net身份-在运行时设置CookieDomain

增加 ASP.NET Core API 的最大文件大小

如何动态创建css / js / html文件并使用ASP.NET MVC在运行时提供服务

如何配置Kestrel以使用随机动态端口并在运行时使用ASP.NET Core 3.1确定端口?

通过ASP.NET应用程序上传大文件(最大100gb)

在ASP.NET Core MVC中在运行时动态绑定模型

ASP.NET MVC如何在运行时添加新页面?

ASP.NET Core MVC - 在运行时绑定到模型

在运行时将请求范围内的对象注入asp.net核心

ASP.NET Core依赖项注入:服务在运行时使用Func委托解析

.Net-在运行时将ASP按钮动态添加到ASPX中的表

ASP.Net MVC 4/5-在运行时刷新路由

如何在运行时在ASP.Net Core中创建URL重写?

ASP.NET Core依赖注入:在运行时传递参数

ASP.NET VB在运行时显示新图像

在运行时为 ASP.NET Core 缩小动态生成的 JavaScript

在运行时切换Shield UI ASP.NET图表dataPointText属性

ASP.Net Core注册控制器在运行时

在运行时创建动态视图asp.net mvc

ASP .NET Gridview在运行时的行距和列距

无法在运行时使用会话更改语言ASP.NET

如何在运行时更改 asp.net core 中的启动数据?

在运行时更改asp.net核心模型属性名称

在ASP.NET Core中在运行时扩展Autofac IoC容器配置

在运行时将CSS添加到ASP.net母版页。

ASP.NET Gridview文本框在运行时绑定到变量