堆栈跟踪是由于未更改正确Web.Config的代理造成的。但是,如果使用.NET Framework 4.6.1创建新项目->ASP.NET Web应用程序(.NET Framework),则会出现完全相同的错误请求错误。即使在更新之后 Web.config 具有以下值:
Web.config
<system.web> <authentication mode="None"/> <httpRuntime targetFramework="4.6.1" maxUrlLength="2048" maxQueryStringLength="32768" relaxedUrlToFileSystemMapping="true" /> </system.web> ... <system.webServer> <security> <requestFiltering allowDoubleEscaping="true"> <requestLimits maxQueryString="32768" maxAllowedContentLength="32768" /> </requestFiltering> </security> </system.webServer>
原件:
我有个奇怪的问题。
https://localhost:44369/api/Account/testReset/AQAAANCMnd8BFdERjHoAwE12fCl12bsBAAAA9B6VBWG0rESm48zX3kvFAgAAAAACAAAAAAAQZgAAAAEAACAAAABrejIuYGBxLG912bGeknd3Iww12b9dhdzE99tfhdGW1FPbmQAAAAAOgAAAAAIAACAAAAAWg
以下包含303个字符的URL给出堆栈跟踪错误:
https://localhost:44369/api/Account/testReset/AQAAANCMnd8BFdERjHoAwE12fCl12bsBAAAA9B6VBWG0rESm48zX3kvFAgAAAAACAAAAAAAQZgAAAAEAACAAAABrejIuYGBxLG912bGeknd3Iww12b9dhdzE99tfhdGW1FPbmQAAAAAOgAAAAAIAACAAAAAWgI6mOVdROCbpPBF71QQsivA1VaIPJuALkCN4A5kFUEAAAAAa905JtNQkjp1KFUZJks6PuShgpYDv4nQvTAJTYnzxJu5BvT3AdB12b
此请求的URL长度超过了配置的 异常详细信息:System.Web.HttpException:URL的长度 对于此请求,超出了配置的maxUrlLength值。 [HttpException(0x80004005):此请求的URL长度 超过配置的maxUrlLength值。] System.Web.HttpRequest.validateinputifrequeuiredbyconfig()+9939787 System.Web.PipelineStepManager.ValidateHelper(HttpContext上下文)+53
此请求的URL长度超过了配置的
异常详细信息:System.Web.HttpException:URL的长度 对于此请求,超出了配置的maxUrlLength值。
[HttpException(0x80004005):此请求的URL长度 超过配置的maxUrlLength值。] System.Web.HttpRequest.validateinputifrequeuiredbyconfig()+9939787 System.Web.PipelineStepManager.ValidateHelper(HttpContext上下文)+53
这个包含403个字符的URL给了我400个错误的请求页:
https://localhost:44369/api/Account/testReset/AQAAANCMnd8BFdERjHoAwE12fCl12bsBAAAA9B6VBWG0rESm48zX3kvFAgAAAAACAAAAAAAQZgAAAAEAACAAAABrejIuYGBxLG912bGeknd3Iww12b9dhdzE99tfhdGW1FPbmQAAAAAOgAAAAAIAACAAAAAWgI6mOVdROCbpPBF71QQsivA1VaIPJuALkCN4A5kFUEAAAAAa905JtNQkjp1KFUZJks6PuShgpYDv4nQvTAJTYnzxJu5BvT3AdB12bIobF0DrIjWDgzrTa7ddaOLWfekVuEvEZJQAAAAN9tYCLKXD6Z1BembCCgBa7XkUhs0aOsLj0euwKYaR12b799hD812bO1pMsKXwl
问题有两个部分:为什么我会收到不同的错误,我能做些什么来修复它?我知道我可以用 ?token= 有路线 [Route("testReset")] 但这是关于设置URL长度的。
?token=
[Route("testReset")]
[HttpGet] [AllowAnonymous] [Route("testReset/{token}")] public IHttpActionResult Test(string token) { return Ok(); }
Web.config:
<system.web> <httpRuntime targetFramework="4.5.2" maxUrlLength="2048" maxQueryStringLength="32768" relaxedUrlToFileSystemMapping="true" /> </system.web> <system.webServer> <security> <requestFiltering allowDoubleEscaping="true"> <requestLimits maxQueryString="32768" /> </requestFiltering> </security> </system.webServer>
How do I increase the maxUrlLength property in the config in asp.net MVC 3?
在system webserver tag下的Web.config上,必须添加以下内容:
<security> <requestFiltering> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering>