সর্বাধিক অনুরোধ দৈর্ঘ্য অতিক্রম করেছে।


1049

আমি ত্রুটিটি পাচ্ছি যখন আমি আমার সাইটে একটি ভিডিও আপলোড করার চেষ্টা করছি তখন সর্বাধিক অনুরোধের দৈর্ঘ্য অতিক্রম করে

আমি কিভাবে এটা ঠিক করব?

উত্তর:


1968

আপনি যদি নিজের অ্যাপ্লিকেশনটি হোস্টিংয়ের জন্য আইআইএস ব্যবহার করে থাকেন তবে ডিফল্ট আপলোড ফাইলের আকার 4MB। এটি বাড়ানোর জন্য, দয়া করে আপনার web.config-

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

আইআইএস and এবং তারপরের জন্য আপনার নীচের লাইনগুলিও যুক্ত করতে হবে:

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

দ্রষ্টব্য :

  • maxRequestLengthকিলোবাইটে পরিমাপ করা হয়
  • maxAllowedContentLengthবাইট পরিমাপ করা হয়

এই কনফিগার উদাহরণে মানগুলি পৃথক হয়। (উভয়ই 1 জিবি সমতুল্য))


7
আপনাকে ধন্যবাদ শচিন এবং আমি <httpRuntime maxRequestLength = "32768" এক্সিকিউশনটাইমআউট = "180" />
সূর্য শসিধর

11
ম্যাক্সএলয়েডকন্টেন্টলেন্ট অবশ্যই বাইটে থাকতে হবে, কিলোবাইট নয়, সুতরাং প্রদত্ত উদাহরণগুলি সমতুল্য নয়।
ম্যাথিউ শার্প

33
আইআইএস 7.5 এবং ভিএস আরসি 2012 আইআইএস এক্সপ্রেস উভয়ের সাথেই আমাকে এর দুটি সেট করতে হয়েছিল। HttpRuntime এক কনফিগার করে ASP.NET এর সর্বোচ্চ দৈর্ঘ্য যখন requestLimits কনফিগার করে আইআইএস এর সর্বোচ্চ দৈর্ঘ্য, stackoverflow.com/questions/6327452/... এবং forums.iis.net/t/1169846.aspx
Despertar

18
এটি আবারও উল্লেখ করার মতো, ম্যাক্সএলয়েডড কনটেন্টলেন্টটি কিলোবাইট নয়, বাইটে রয়েছে। দুটি মান একই সংখ্যা হওয়া উচিত নয়, কারণ তারা একই পরিমাপের একক নয়।
পান্ডিনকাস

13
নিশ্চিত হয়ে নিন যে আপনি এই সেটিংটি ফোল্ডারের Web.configঅভ্যন্তরের পরিবর্তে Views
মূলটিতে যুক্ত করছেন

553

আমি মনে করি না যে এটি এখানে উল্লেখ করা হয়েছে, তবে এই কাজটি পেতে, আমাকে এই দুটি মান ওয়েলকনফাইগেই সরবরাহ করতে হয়েছিল:

ভিতরে system.web

<httpRuntime maxRequestLength="1048576" executionTimeout="3600" />

এবং ভিতরে system.webServer

<security>
    <requestFiltering>
        <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
</security>

গুরুত্বপূর্ণ : এই দুটি মানই মিলবে। এই ক্ষেত্রে, আমার সর্বোচ্চ আপলোডটি 1024 মেগাবাইট।

ম্যাক্সরেক্সটেলেন্থে 1048576 কিলোবাইট রয়েছে এবং ম্যাক্সএলয়েডড কনটেন্টলেন্টে 1073741824 বাই বাইস রয়েছে ।

আমি জানি এটি সুস্পষ্ট, তবে এটি উপেক্ষা করা সহজ।


5
যে কোনওটির জন্য এটি উদ্বেগজনক হতে পারে: এই উত্তরটি আইআইএস-এক্সপ্রেসের জন্যও পুরোপুরি কার্যকরভাবে কাজ করে (ওয়েবম্যাট্রিক্সের সাথে অ্যাস্প নেট-ওয়েব পৃষ্ঠাগুলি)
ভায়োডকিং

5
হ্যাঁ, এটি সেই উত্তর যা আমার পক্ষে শচিনের উত্তরের পরিবর্তে কাজ করেছিল। এটি অ্যাজুরেতেও কাজ করে।
গৌতম জৈন

5
এটি অবশ্যই সঠিক উত্তর ... উভয় এন্ট্রি অবশ্যই উপস্থিত থাকতে হবে। এমভিসি 3 এর ক্ষেত্রে এটি প্রকল্পের মূল web.configফাইলটিতে থাকতে পারে ।
মিগুয়েল অ্যাঞ্জেলো

2
আর একটি গুরুত্বপূর্ণ বিষয় হ'ল 'এক্সিকিউশনটাইমআউট' যা কার্ল উল্লেখ করেছেন
মুহাম্মদ আমিন

26
আমাকে এটির জন্য বিদ্যমান লাইনের সাথে একত্রিত করতে হয়েছিল: <httpRuntime লক্ষ্য ফ্রেমওয়ার্ক = "4.5" ম্যাক্সরেক্সটেলেন্থ = "1048576" এক্সিকিউশনটাইমআউট = "3600" />
কেন ম্যাক

195

এটি লক্ষণীয় যে আপনি এই পরিবর্তনের URL টি সীমাবদ্ধ করতে চান আপনি আপলোডের জন্য আপনার সম্পূর্ণ সাইটের পরিবর্তে ব্যবহার করার আশা করছেন।

<location path="Documents/Upload">
  <system.web>
    <!-- 50MB in kilobytes, default is 4096 or 4MB-->
    <httpRuntime maxRequestLength="51200" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- 50MB in bytes, default is 30000000 or approx. 28.6102 Mb-->
        <requestLimits maxAllowedContentLength="52428800" /> 
      </requestFiltering>
    </security>
  </system.webServer>
</location>

অবস্থান সম্পর্কে ভাল সমাধান ভাবছেন। তবে এমভিসি (এবং সুতরাং রুটগুলির সাথে কাজ করে) এর সাথে কাজ করার সময় কোনও অবস্থানের পথ রয়েছে?
Luuk Krijnen

1
এটিতে আপনার আপলোড অ্যাকশন সেট করা রুটের সাথে সম্পর্কিত কোনও URL হবে। আমার ক্ষেত্রে, আমার কাছে একটি ডকুমেন্টস কন্ট্রোলার রয়েছে যাতে আমি আপলোড নামে একটি ক্রিয়া করি যা আমি ফর্মটি পোস্ট করি। আপনার ক্ষেত্রে এটি আপনার ক্রিয়াকলাপের url যা কিছু হবে।
নিক অ্যালব্রেক্ট

এই উত্তরটি যে কেউ পছন্দ করেন, তাদের জন্য এটি দেখুন
ডন্টভোটমিডাউন

2
ডুড ইউ রক। দুঃখিত, তবে আমার অতি সামান্য ভোটই যথেষ্ট ছিল না।
নিকোলাস পিটারসেন

1
এটি এমভিসি ভি 5 পর্যন্ত এবং এর জন্য ওয়েবএপিআইয়ের সাথে কাজ করবে। একবার আপনি এমভিসি কোর দিয়ে এএসপি.এনইটি কোর টিপুন, তারপরে কেষ্টারেলের জন্য আপনার বেছে নেওয়া উচিত বিভিন্ন বিকল্প।
নিক অ্যালব্রেচট

44

এবং এই ক্ষেত্রে যদি কেউ এই ব্যতিক্রমটি পরিচালনা করার জন্য কোনও উপায় অনুসন্ধান করে এবং ব্যবহারকারীর কাছে অর্থপূর্ণ ব্যাখ্যা দেখায় ("আপনি খুব বড় একটি ফাইল আপলোড করছেন" এর মতো কিছু):

//Global.asax
private void Application_Error(object sender, EventArgs e)
{
    var ex = Server.GetLastError();
    var httpException = ex as HttpException ?? ex.InnerException as HttpException;
    if(httpException == null) return;

    if (((System.Web.HttpException)httpException.InnerException).WebEventCode == System.Web.Management.WebEventCodes.RuntimeErrorPostTooLarge)
    {
        //handle the error
        Response.Write("Too big a file, dude"); //for example
    }
}

(ASP.NET 4 বা তার পরে প্রয়োজনীয়)


1
ব্যতিক্রমী জেনারেশনের জন্য ম্যাক্সএলয়েডড কনটেন্টলেন্ট দৈর্ঘ্যটি (ম্যাক্সরেক্সটেলেন্ট * 1024) এর চেয়ে বেশি হওয়া উচিত।
ডের_মিস্টার

এই পোস্টটি আমাকে ব্যবহারকারীকে সতর্ক করার জন্য যা প্রয়োজন তা দিয়েছিল তবে সঠিকভাবে কাজ HttpContext.Current.ClearError()করার অনুমতি দেওয়ার প্রয়োজন ছিল Response.Redirect()। এর নিরিখে এর বৈশিষ্ট্যের web.configসাথে কাজ করে । maxRequestLengthhttpRuntime
nrod

ফাইলের আকারের বৈধতা এবং ব্যবহারকারী-বান্ধব বার্তাটি জেএসের মাধ্যমে পৃষ্ঠার স্তরে onchangeআপলোড বোতামে একটি ইভেন্ট ব্যবহার করে এবং আপলোড ফাইলের আকারকে সর্বোচ্চ আপলোডের সীমাটির সাথে তুলনা করে করা যেতে পারে ।
আলফ্রেড ওয়ালেস

29

সর্বোচ্চ অনুরোধের আকারটি ডিফল্টরূপে, 4MB (4096 KB)

এটি এখানে ব্যাখ্যা করা হয়

উপরের নিবন্ধে এই সমস্যাটি কীভাবে ঠিক করা যায় তাও ব্যাখ্যা করা হয়েছে :)


4
লিঙ্কটি আমাকে মাইক্রোসফ্ট সমর্থন হোমপেজে পুনর্নির্দেশ করছে
বিশপ

1
হয়তো কিছু ভুল ছিল। লিঙ্কটি এখানে
gofr1

22

আপনি যদি কনফিগারেশন ফাইলগুলি আপডেট করতে না পারেন তবে ফাইল আপলোডগুলি ব্যবহার করে এমন কোডটি নিয়ন্ত্রণ করুন HttpContext.Current.Request.GetBufferlessInputStream(true)

trueজন্য মান disableMaxRequestLengthপরামিতি কনফিগার অনুরোধ সীমা উপেক্ষা করার ফ্রেমওয়ার্ক বলে।

বিস্তারিত বিবরণের জন্য https://msdn.microsoft.com/en-us/library/hh195568(v=vs.110).aspx দেখুন


দুর্দান্ত, সুতরাং শীর্ষের উত্তরগুলিতে কীভাবে> 1600 ভোট রয়েছে, এবং এটি কেবল 5? এটি ভয়ঙ্কর, কারণ প্রায়শই এটি কেবল একটি একক ক্রিয়া যা আমরা এটি চালাতে চাই। উপরন্তু, অন্যান্য সেটিংস, ইত্যাদি সঙ্গে কোন সেনাবিভাগে মেসে খাবার
নিকোলাস পিটারসেন

এই আমি খুঁজছিলাম ছিল।
ক্রিস ক্যাটিগনি

20

আপলোডকৃত ফাইলের সর্বাধিক আকারটি কনফিগার করতে ওয়েব কোডফাইগের একটি উপাদান রয়েছে:

<httpRuntime 
    maxRequestLength="1048576"
  />

11

সমস্ত উত্তর একটি এক জায়গায় সংক্ষিপ্ত করতে:

<system.web>
  <httpRuntime targetFramework="4.5.2" maxRequestLength="1048576"/>
</system.web>

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

নিয়মাবলী:

  • maxRequestLength (কেবিতে প্রকাশিত) মান অবশ্যই ম্যাক্সএলয়েডকন্টেন্টেলেন্ট (বাইটে প্রকাশিত) সাথে মেলে।
  • বেশিরভাগ সময় আপনার সিস্টেম.ওয়েব বিভাগে ইতিমধ্যে একটি "httpRunটাইম" থাকতে পারে। আপনার। নেট ব্যবহৃত সংস্করণে আপনার লক্ষ্য ফ্রেমওয়ার্ক সেট করুন।

মন্তব্য:

  • ম্যাক্সরেক্সেস্টলেন্টের ডিফল্ট মান 4096 (4 এমবি)। সর্বাধিক মান 2,147,483,647
  • ম্যাক্সএলয়েডড কনটেন্টলেন্টের ডিফল্ট মান 30,000,000 (প্রায় 30 এমবি)। সর্বাধিক মান 4,294,967,295

আরও তথ্য এমএসডিএন


8

সর্বাধিক হিসাবে এখানে রেকর্ডের দৈর্ঘ্য (কেবি দৈর্ঘ্য) আমি 1024 (1MB) ম্যাক্সএলয়েডড কনটেন্টলেংথ (বাইটে দৈর্ঘ্য) আপনার ম্যাক্সরেক্সেস্টলেন্ট (1048576 বাইট = 1 এমবি) এর মতো হওয়া উচিত।

<system.web>
   <httpRuntime maxRequestLength="1024" executionTimeout="3600" />
</system.web>

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

6

এটি আমাকে বেশ কয়েকদিন বিরক্ত করেছিল। আমি Web.config ফাইলটি পরিবর্তন করেছি তবে এটি কার্যকর হয়নি। এটি প্রমাণিত হয়েছে যে আমার প্রকল্পে দুটি ওয়েবকনফিগ ফাইল রয়েছে এবং আমার আরওআরটি ডিরেক্টরিতে একটিটি সংশোধন করা উচিত , অন্যগুলি নয়। আশা করি এটি সহায়ক হবে।


5

আপনার যদি সাইটে কোনও অ্যাপ্লিকেশনে যাওয়ার অনুরোধ থাকে, আপনি রুট ওয়েবকনফিগে ম্যাক্সরেউকুয়েস্টলেন্থ সেট করেছেন তা নিশ্চিত করুন। অ্যাপ্লিকেশনগুলির ওয়েবকনফিগের ম্যাক্সরেক্সটেল দৈর্ঘ্য উপেক্ষা করা হবে বলে মনে হয়।


আমি যদি একাধিকবার এটি উত্সাহ দিতে পারতাম। এটা আমার জীবনের একটি দিন নষ্ট। আপনি একটি ভার্চুয়াল Dir উপ-আবেদন থাকে, তাহলে আপনি দিতে হবে httpRuntime maxRequestLength="###এবং requestLimits maxAllowedContentLengthসাব-অ্যাপ পর্যায়ে না রুট স্তরে একটি ওয়েব কনফিগ মধ্যে।
নিকভানস

1

আমি এই সত্যটি দেখে বিভক্ত হয়েছি যে আমাদের ওয়েবকনফাইগ ফাইলটিতে একাধিক সিস্টেম রয়েছে we


1

আমাকে C:\Windows\System32\inetsrv\config\applicationHost.configফাইলটি সম্পাদনা <requestLimits maxAllowedContentLength="1073741824" />করতে হয়েছিল এবং শেষের দিকে যুক্ত করতে হয়েছিল ...

<configuration>
    <system.webServer>
        <security>
            <requestFiltering>

অধ্যায়.

অনুযায়ী এই Microsoft সহায়তা ধারা


আপনার নিজের প্রকল্পের ওয়েবকনফিগের এগুলি ওভাররাইড করা উচিত, তাই আমি সংশোধন করার প্রয়োজন দেখছি না applicationHost.config
bvgheluwe

-3

আমি কনফিগার ওয়েব কনফিগার করতে যোগ করতে পারেন

<system.web> 
  <httpRuntime maxRequestLength="1024" executionTimeout="3600" /> 
  <compilation debug="true"/> 
</system.web> 
<security> 
  <requestFiltering> 
    <requestLimits maxAllowedContentLength="1048576"/> 
  </requestFiltering> 
</security>

1
executionTimeoutঅ্যাট্রিবিউট কি জিজ্ঞাসা করা হয় সঙ্গে কিছুই করার আছে, এবং তন্ন তন্ন করে compilationট্যাগ।
ম্যাথিয়াস লাইককেগার্ড লরেনজেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.