अन्य उत्तर आईआईएस प्रतिबंध का समाधान। हालांकि, एएसपी.नेट कोर 2.0 के रूप में, केस्ट्रल सर्वर भी अपनी डिफ़ॉल्ट सीमा लगाता है।
Github of KestrelServerLimits.cs
Announcement of request body size limit and solution (quoted below)
MVC निर्देश
आप एक विशिष्ट MVC कार्रवाई या नियंत्रक के लिए अधिकतम अनुरोध शरीर आकार की सीमा में परिवर्तन करना चाहते हैं, तो आप RequestSizeLimit
विशेषता का उपयोग कर सकते हैं। निम्नलिखित 100,000,000 बाइट तक अनुरोध निकायों को स्वीकार करने के लिए MyAction
की अनुमति होगी।
[HttpPost]
[RequestSizeLimit(100_000_000)]
public IActionResult MyAction([FromBody] MyViewModel data)
{
[DisableRequestSizeLimit]
अनुरोध आकार असीमित बनाने के लिए उपयोग किया जा सकता है। यह केवल जिम्मेदार कार्रवाई या नियंत्रक के लिए पूर्व-2.0.0 व्यवहार को प्रभावी ढंग से पुनर्स्थापित करता है।
जेनेरिक मिडिलवेयर निर्देश
अनुरोध एक MVC कार्रवाई द्वारा नियंत्रित नहीं किया जा रहा है, तो सीमा अभी भी एक अनुरोध के अनुसार आधार IHttpMaxRequestBodySizeFeature
के प्रयोग पर संशोधित किया जा सकता। उदाहरण के लिए:
app.Run(async context =>
{
context.Features.Get<IHttpMaxRequestBodySizeFeature>().MaxRequestBodySize = 100_000_000;
MaxRequestBodySize
एक शून्य लंबा है। इसे शून्य पर सेट करना एमवीसी के [DisableRequestSizeLimit]
जैसी सीमा को अक्षम करता है।
यदि आवेदन अभी तक पढ़ना शुरू नहीं हुआ है तो आप केवल अनुरोध पर सीमा को कॉन्फ़िगर कर सकते हैं; अन्यथा एक अपवाद फेंक दिया जाता है।IsReadOnly
संपत्ति है जो आपको बताती है कि MaxRequestBodySize
संपत्ति केवल पढ़ने योग्य राज्य में है, जिसका अर्थ है कि सीमा को कॉन्फ़िगर करने में बहुत देर हो चुकी है।
वैश्विक कॉन्फ़िग निर्देश
आप विश्व स्तर पर अधिकतम अनुरोध शरीर के आकार को संशोधित करना चाहते हैं, तो यह या तो UseKestrel
या UseHttpSys
के कॉलबैक में एक MaxRequestBodySize
संपत्ति को संशोधित करके किया जा सकता है। MaxRequestBodySize
दोनों मामलों में एक नामुमकिन लंबा है। उदाहरण के लिए:
.UseKestrel(options =>
{
options.Limits.MaxRequestBodySize = null;
या
.UseHttpSys(options =>
{
options.MaxRequestBodySize = 100_000_000;
आप शायद 30MB मतलब, – jao