2016-08-19 179 views
4

有沒有辦法在Asp.Net Core中設置maxUrlLength配置值?我看到這是如何在web.config中在早期版本的框架中進行,例如:ASP.Net核心maxUrlLength

How do I increase the maxUrlLength property in the config in asp.net MVC 3?

然而,這似乎並沒有在ASP.Net核心工作....

+0

看來這個參數並沒有使它在1.0版本。看看這個問題:https://github.com/aspnet/KestrelHttpServer/issues/475 –

+0

這是你的前端服務器的功能(例如IIS或NGinx)。 ASP.NET Core對此值沒有限制。 – Tratcher

回答

6

你是正確的,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> 
+0

這個答案在正確的大概情況下,我根據這裏描述的方式改變了各種配置,但最終的結果是我的註冊表更新了這裏所描述的: http://stackoverflow.com/questions/15004232/wcf-get-url-length-limit-issue-bad-request-invalid-url 注意我正在使用IIS Express,並且這還需要重啓我的機器以使註冊表設置生效。 – Marty