调用Web API时返回“HTTP Error 404.15 - Not Found”的错误提示,如下截图:
经检查,传递的查询参数字符长度超过IIS默认最大查询字符串长度的设置,IIS服务器的 maxQueryString(单位:字节) 设置,默认为 2048 字节。
将 maxQueryString 调整到合适的长度来满足请求的查询字符串长度。
maxQueryString:请求筛选设置->最大查询字符串(字节)设定,此配置会影响到整个Web站。
若 maxQueryString 配置已满足请求字符长度后还发生如下错误提示:
因为在获取或设置HTTP请求时会限制于httpRuntime节点配置的maxQueryStringLength(最大查询字符串长度),单位为:字符个数,默认为:2048 个字符。
如请求查询超过 maxQueryStringLength 配置的长度值,就无法响应请求。
综合上述情况,HTTP请求的查询字符串长度不能超过 system.webServer->security->requestFiltering->requestLimits.maxQueryString 和 system.web->httpRuntime.maxQueryStringLength 配置节点限制的长度。