Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

asp.net - How to read maxAllowedContentLength

For my web app i have flash component for uploading files. I would like to handle max file size limit on client side without actual sending that file to server. So i need to read that value from config file somehow to send it to client. Some articles i had found said that reading directly config file is not solution, because it can be changed in whole lot of places. So there should be some API call probably, but i cannot find any...

<system.webServer>
    <security>
        <requestFiltering>
            <requestLimits maxAllowedContentLength="1048576" />
        </requestFiltering>
    </security>
</system.webServer>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

I know it is an old question, but it cost me so much time (wasted) that I felt like posting a working solution for those who might come in my path:

Using Microsoft.Web.Administration;

uint uiMaxAllowedContentLength = 0;
using (ServerManager serverManager = new ServerManager())
{
    Configuration config = serverManager.GetWebConfiguration("Default Web Site/{{your special site}}");
    ConfigurationSection requestFilteringSection = config.GetSection("system.webServer/security/requestFiltering");
    ConfigurationElement requestLimitsElement = requestFilteringSection.GetChildElement("requestLimits");
    object maxAllowedContentLength = requestLimitsElement.GetAttributeValue("maxAllowedContentLength");
    if (null != maxAllowedContentLength)
    {
        uint.TryParse(maxAllowedContentLength.ToString(), out uiMaxAllowedContentLength);
    }

}

Make sure that you first download and install the Microsoft Web Administration package (

PM> Install-package Microsoft.Web.Administration

)

Also, you might need to adjust permission to your web.config file. Give IUSR and IIS_IUSRS at least "Read" permission.

The code is actually from Microsoft site, though to find it took forever! Hopefully I have saved you couple of hours.

Cheers,

Roman


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...