728x90
반응형
AspNetCore를 이용한 Web 프로젝트 진행 중 DataTables(Grid 컴포넌트) 에서 JSON API를 호출하면 IIS Express 에서 에러발생
에러내용
HTTP Error 404.15 - Not Found
쿼리 문자열이 너무 긴 요청을 거부하도록 요청 필터링 모듈이 구성되어 있습니다.
가능성이 높은 원인:
웹 서버에 쿼리 문자열이 너무 긴 요청을 거부하도록 하는 요청 필터링이 구성되어 있습니다.
가능한 해결 방법:
applicationhost.config 또는 web.config 파일에서 configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString 설정을 확인하십시오.
Detailed Error Information:
Module RequestFilteringModule
Notification BeginRequest
Handler aspNetCore
Error Code 0x00000000
Requested URL https://localhost/List?id=2&searchType=TITLE&searchKeyword=undefined&draw=1&columns%5B0%5D%5Bdata%5D=BoardID&columns%5B0%5D%5Bname%5D=&columns%5B0%5D%5Bsearchable%5D=... 문자열 생략
Physical Path C:\Project\DataTablesList
Logon Method 아직 결정되지 않음
Logon User 아직 결정되지 않음
More Information:
이것은 보안 기능이므로 변경 가능한 범위를 완전히 파악하지 못한 경우에는 변경하지 마십시오. 쿼리 문자열이 지정된 값보다 긴 요청을 거부하도록 IIS 서버를 구성할 수 있습니다. 요청의 쿼리 문자열이 구성된 값보다 길면 이 오류가 반환됩니다. 쿼리 문자열의 허용 길이를 늘려야 하는 경우에는 configuration/system.webServer/security/requestFiltering/requestLimits@maxQueryString 설정을 수정하십시오.
View more information »
원인
DataTables의 ServerSide 방식을 이용하여 Grid를 구현하였는데 GET방식으로 API를 호출하면 Request 기본 문자열이 길어서 생기는 문제로 확인
해결방법
WebAPI 프로젝트 > App.Config 파일의 requestLimits/maxQueryString 설정을 추가하면 해결된다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="268435456" maxQueryString="20480" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
DataTables를 이용한 페이징 구현 중 발생하여 DataTables 문제 인줄 알았으나 IIS Express(App.Config) 설정문제로 확인
에러가 발생할 때는 항상 복합적인 문제로 발생한다.!!!
728x90
반응형
'개발' 카테고리의 다른 글
iOS 팀즈앱-자바스크립트 prompt 명령어 사용시 앱 종료 버그 (0) | 2022.07.22 |
---|---|
[DataTables] paginate 문자열(previous/next) 지우는 방법 (0) | 2022.07.18 |
Visual Studio 2022 Community(17.2) 설치방법(윈도우11) (2) | 2022.05.31 |
[Tomcat] 톰캣 서비스 시작 오류시 해결방법(에러로그 미기록 상황) (0) | 2022.04.06 |
아파치 톰캣(Apache Tomcat) 9.0.62 다운로드 및 설치방법(윈도우11) (2) | 2022.04.04 |