2017-09-21 2 views
0

다른 개발자가 사용할 수 있도록하기 위해 설명서를 생성하려고하는 ASP.NET (Core가 아닌)으로 작성된 WebAPI 서비스가 있습니다. Swashbuckle을 찾아 설치했습니다. 그런 다음 OData를 일부 서비스에 사용하기 때문에 Swashbuckle.OData을 추가했습니다. 그런 다음 설정을 SwaggerConfig으로 수정하여 ODataSwaggerProvider을 사용했습니다. 나는 또한 동일한 URL 경로로 몇 개의 액션을 가지고 있기 때문에 으로 설정했다. 쿼리 문자열에 의해서만 다르기 때문에 (나중에 다룰 필요가있다.) 여태까지는 그런대로 잘됐다.Swashbuckle 관련 문제

그런 다음 테스트 해 보았습니다. 내 웹 앱을 시작한 다음 "/ swagger /"를 추가하여 종료합니다. 리소스 정보를로드 중임을 알리는 메시지가 나타납니다. 그러나 몇 분 후에 "오류 : 저장소가 부족하여이 작업을 완료 할 수 없습니다."라는 브라우저 오류 디버그 팝업이 나타납니다. 그것은 디버그를 원한다면 묻습니다. 그렇다면 IE (브라우저에서 사용하는 디버거)로 이동합니다. 스택의 유일한 코드는 jquery-1-8-0-min-js 또는 swagger-ui-min-js입니다 (이 부분은 저를 혼란스럽게합니다. swagger-ui-min-js 파일이 없으므로 프로젝트, 나는 그것을 DLL에 포함 된 가정합니다). 내 코드로 다시 떠오르는 스택 추적 부분이 없으며 모든 코드가 축소되어 디버깅하기가 매우 어렵습니다.

그러나 오류 팝업을 닫은 후 컨트롤러 중 3 개가 결과 페이지에 나타나기 때문에 적어도 부분적으로 작동하고 있음을 알고 있습니다. 탐색 할 수 있으며 모든 GET, POST, PUT 및 DELETE가있는 것처럼 보이며 테스트 할 수 있습니다.

"/ swagger /"URL을 탐색 할 때마다 Swagger는 설명서를 생성하기 위해 서비스의 모든 URL을 조회합니까? 아마 실행하는 데 특히 오랜 시간이 걸리는 작업을 때리는 아마도 궁금하네요 또는 아마도 생성 된 설명서가 너무 많은 디스크 공간을 (나는 디스크에 충분한 공간이 있지만 어쩌면 그것은 RAM을 참조하는 것입니다?).

어쨌든 그게 문제가 아니더라도 누군가에게 보낼 수있는 일종의 문서 파일을 생성하려면 어떻게해야합니까? 내 폴더에 새로운 파일이 추가 된 것을 볼 수 없으므로, 당신이 swagger URL로 이동할 때마다 전체 프로세스를 다시 수행하는 것처럼 보일 수 있습니다.

+0

코드없이이 문제를 해결하는 것은 거의 불가능합니다 ... 코드를 GitHub에 넣을 수 있습니까? – HelderSepu

+0

GitHub에 코드를 추가 할 수 없습니다. 아마 같은 행동을하는 더미 프로젝트를 만들려고 노력할 수도 있습니다. 그러나 나는 더 높은 단계에서 "Swashbuckle은 실제로 여기서 무엇을하고 있는가?" 문제가 무엇인지 추측 할 수 있습니다. 이론적 인 수준에서 실행하는 데 너무 오래 걸리거나 많은 양의 데이터를 반환하는 조치가있는 경우 "충분하지 않은 저장 공간을 사용할 수 있습니까?"라는 메시지가 표시됩니까? 마찬가지로 이론적으로 그 메시지를 보여줄 수 있습니까? – RebelScum

+0

간단한 WebAPI 프로젝트로 시작한 Swashbuckle에 익숙해지고 Swashbuckle을 추가하는 것이 좋습니다. 그런 다음 프로젝트의 복잡한 기능 중 일부를 추가하여 중단 된 부분을 확인하십시오. – HelderSepu

답변

0

Chrome 브라우저를 사용했을 때 더 이상 문제가 없었습니다 (이전에 IE11을 사용하고있었습니다). 문제가 무엇인지 확신 할 수 없지만 이것이 해결책이었습니다.