2014-09-06 4 views
0

ASP.NET WebAPI를 사용하여 노출 된 서비스에 대한 동시 연결 수를 제한하는 메커니즘을 찾고 있습니다.ASP.NET WebAPI에서 최대 동시 연결/요청/세션 수를 제한하는 방법

왜? 이 서비스는 하드웨어 리소스 비용이 많이 드는 작업을 수행하고 있기 때문에 스트레스를 받으면 성능 저하를 방지하고 싶습니다.

상세 정보 :

  • 나는 시간의 기간마다 발행 요청을 얼마만큼 알고하지 않습니다.
  • 이 서비스는 자체 IIS 응용 프로그램 풀에서 실행되며 IIS에서 상위 사이트의 최대 연결 수를 제한하는 것은 옵션이 아닙니다.
  • 나는 this 제품군을 찾았지만 지원되는 알고리즘은 내가 관심이있는 사람을 포함하지 않습니다.

내가 상자 밖으로 뭔가를 찾고 있어요 (는 IIS 구성 설정과 같은 간단한 무언가를) 그러나 나는 내가 필요한 것을 정확히 찾을 수 없었다.

실마리가 있습니까?

감사합니다.

+0

가능한 답을 좁히고 ([XY 문제] (http://meta.stackexchange.com/q/66377/67392)) 피하십시오 : 왜? – Richard

+0

질문이 업데이트되었습니다. – mo5470

답변

1

요청 수를 제한하는 것보다 서비스를 확장하는 것이 좋습니다. 무거운 처리를 일부 백그라운드 작업에 보내고 API 서비스 요청을 유지할 수 있습니다.

위의 내용을 수행 할 수 없다고 가정하면 사용 가능한 조절 프로그램 중 하나를 사용해야하거나 사용자 요구 사항을 충족시키지 못하면 직접 작성해야합니다.

ThrottlingHandler로 시작하는 것이 좋습니다 WebApiContrib GetUserIdentifier 메서드를 올바르게 구현하여 필요를 충족시킬 수 있습니다.

그렇지 않은 경우 사용자 고유의 MessageHandler를 구현해야하며 언급 된 핸들러는 좋은 시작점입니다.

관련 문제