1

servicestack v3.9를 사용하여 작성한 서비스가 있습니다. 큰 결과 집합을 반환하려고하고 내 클라이언트에서 500 내부 서버 오류가 발생했습니다. 오류의 세부 정보를 보면 결과가 예외에 나열되어 있지만 65536 자 뒤에 잘립니다. 나는 이것이 .net에 의해 부과 된 기본 한계라는 것을 알고있다. 내가 모르는 것은 서비스 스택을 늘리는 방법입니다.ServiceStack maxReceivedMessageSize

서비스 스택을 사용하고 있기 때문에 클라이언트가 웹 구성에서 바인딩을 사용하여 서비스에 연결하지 않습니다. 웹 api 호출에 대해이 문제는 바인딩에서 maxReceivedMessageSize를 증가시키는 문제를 해결할 수있는 것처럼 보입니다. 서비스 스택에 대해서도이 제한을 늘릴 수있는 방법이 있습니까?

답변

1

ServiceStack은 제한이나 할당량 자체를 부과하지 않으므로 Services hit 값은 다른 ASP.NET 웹 응용 프로그램과 동일하게 증가 할 수있는 IIS/ASP.NET입니다.

아래의 Web.config 예를 구성 IIS6 및 IIS7 모두 1GB의 요청 제한을 증가하는 방법을 보여줍니다

<configuration> 
    <system.web> 
     <httpRuntime maxRequestLength="1048576" /> 
    </system.web> 
</configuration> 
IIS7에 대한

이상, 당신은 또한 아래의 라인을 추가해야합니다

<system.webServer> 
    <security> 
     <requestFiltering> 
     <requestLimits maxAllowedContentLength="1073741824" /> 
     </requestFiltering> 
    </security> 
</system.webServer> 
+0

답변 해 주셔서 감사합니다. 나는 이것을 나의 웹 설정 (클라이언트와 서비스)에 모두 추가했고 나는 여전히 같은 문제를 겪고있다. 다른 제안이 있으십니까? 나는 내 봉사가 효과가 있다고 확신한다. 더 작은 결과 집합을 반환하는 매개 변수를 사용하여 동일한 서비스를 호출하면 모든 것이 작동합니다. 큰 결과 집합은 내부 서버 오류를 제공합니다. 질문에 추가 된 콜 스택을 참조하십시오. –

+0

@BenTidman 클라이언트 스택 추적은 도움이되지 않습니다. 서비스에서 예외를 던졌습니다. 원시 HTTP 응답 (예 : Fiddler 또는 WebInspector와 같은 것을 사용)을 제공하는 것이 더 유용 할 것입니다. 기본적으로 ASP.NET 구성에서 업데이트해야하는 할당량을 초과했는지 확인해야합니다. – mythz

+0

피 들러를 사용하려고하는데 실패했습니다. 브라우저에서 웹 앱으로 만드는 아약스 요청을 봅니다. 웹 앱이 서비스 요청을 표시하지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 모든 것이 로컬 디버그 모드에서 실행 중입니다. 즉, 요청이 피들러가 데리러 갈 레벨에 도달하지 못했습니까? –