ASP.Net核心maxUrlLength

Mar*_*rty 10 asp.net-core

有没有办法在Asp.Net Core中设置maxUrlLength配置值?我看到在早期版本的框架中如何在web.config中完成此操作,例如:

如何在asp.net MVC 3中增加配置中的maxUrlLength属性?

但是,这在ASP.Net Core中似乎不起作用....

dot*_*tep 11

您是正确的,不可用的maxUrlLength配置值不可用ASP.net核心在先前版本中可用的方式.干净的原因是以前的版本仅支持IIS和Windows,因此它与之紧密集成.现在它受到其他操作系统的支持,并以他们用实际服务器进行反向代理的方式来实现.喜欢在Windows IIS和Linux NGinx中.

  1. IIS将与Kestrel通信.
  2. NGIx将与Kestrel进行交流.

现在我们要做的任何请求过滤或URL设置都是在IIS或NGinx级别.

如果您在Windows中工作,您将找到"请求筛选"功能,为此您必须添加Web.config文件.(我没有测试过NGInx)

你必须做这样的事情.

<system.webServer>
    <!--   Here you have other settings related to handlers.-->
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="3000000" maxUrl="10241" maxQueryString="20481" />
      </requestFiltering>
   </security>
 </system.webServer>
Run Code Online (Sandbox Code Playgroud)