아마도 이미 알아 냈으므로 문제는 많은 사람들에게 커다란 문제입니다. "멱등수"와 "웹 서비스"를 찾으십시오. Idempotency는 단순히 요청/응답을 보장 할 수있는 것 이상을 의미하지만, 검색을 통해 많은 읽을 거리를 얻을 수 있습니다.
"오랜 기간 동안 응답을 중지하십시오."라는 메시지가 드물게 나타나면 DarkWanderer는 이러한 문제에 대한 매우 강력한 해결책을 제시했습니다.
하지만 전화가 많으면 잠자기가 작동하는 스레드를 먹을 수 있으므로 대기열에 의존해야합니다.
통화가 비 트랜잭션적이고 중요하지 않은 경우에는 반드시 자신의 큐 메커니즘을 코딩 할 수 있습니다. 이것이 쉬운 것처럼 보일 수도 있지만, 스레딩, 복잡한 콜백, 로깅, 능동적 인 에러 핸들링 등을 요구할 수 있습니다. 많은 가난한 영혼들은 간단한 해결책으로 시작된 것이 유지의 악몽으로 바뀌 었다고보고했습니다.
이제 귀하의 요구 사항 중 하나는 앱 풀 재활용에서 살아남 아야한다는 것입니다. 그렇다면 우리는 중요한 (그리고 아마도 트랜잭션적인) 큐잉의 마지막 범주에 있습니다.
처음부터 MSMQ를 권하고 싶습니다. 그것은 귀하의 모든 문제를 처리하고 api는. NET에 있으며 요즘 정말 좋습니다. 예, 전체 솔루션에 복잡성을 추가 할 수는 있지만 문제 도메인에서 비롯됩니다.
MSMQ에 대한 혐오감은 없지만 MSMQ에서 대기열 통신을 위해 큐에 참조 된 모든 항목은 * ahem *으로 간주됩니다. 자습서 나 저를 올바른 방향으로 가리키고있는 저를 지적 해 주시겠습니까? – atevans
선택할 수있는 출처가 너무 많습니다. 그리고 내가 어떻게 그리고 왜 당신이 그 웹 서비스를 호출하는지에 대한 세부 사항을 알지 못하는만큼 많은 옵션이 있습니다. 하지만 기본적으로 귀하의 요청은 대기열에 메시지를 드롭해야합니다. 그런 다음 호출 부분에서 해당 메시지를 들여다 보며 성공적이면 대기열에서 메시지를 제거 할 수 있습니다. 그리고 대기열을 사용하고 모든 서비스 호출이 이루어 지는지 확인하는 시작 검사. 이것은 매우 기본적인 아키텍처입니다. –
대기열을 모니터링하는 외부 서비스가 필요합니다. 내 이해 MSMQ 외부 코드를 활성화 할 수 없습니다. – atevans