구성된 시간 간격으로 대기중인 요청을 처리 할 수있는 서비스를 만들어야합니다. 예를 들어 웹 사이트로 이동하여 초당 한 번 요청을 제한해야하는 사이트에서 금융 데이터를 가져옵니다. 나는 WCF에 익숙하지 않고 MSMQ가있는 WCF가 이것을 구현하기위한 적절한 선택인지 잘 모르겠다. (2) 그렇다면 그 간격을 시행하기위한 최선의 메커니즘은 무엇인가? 스레드 기다려? 타이머 (그게 어떻게 작동하는지 확실하지 않음).X 초마다 처리하는 대기 WCF 서비스
답변
WCF에 명시 적으로 처리 할 수있는 기능이 없으므로 모든 작업을 직접 수행해야합니다.
서비스에서 MSMQ의 요청을 확실히 처리 할 수 있지만 WCF의 MSMQ 수신기는 가능한 한 빨리 메시지를 선택하여 처리합니다. 매 X 초마다 메시지를 처리하도록 구성 할 수는 없습니다 (올바른 도구를 사용하면 위조 할 수는 있지만 그렇게 좋지는 않은 것처럼 보입니다).
처리 요청 사이의 지연이 매우 짧지 않은 경우 중간 대기열을 사용하여 보류중인 요청을 보관하는 것이 좋습니다. 즉, 실제 요청을 보내는 것은 무엇이든 WCF 서비스가 다른 대기열 (대기열 B)에서 청취하는 동안 아무도 대기중인 대기열에 직접 씁니다 (대기열 A). 그런 다음 X 초/분/초마다 실행되고 대기열 A에서 대기열 B로 단지 하나의 메시지 만 이동하여 실제 WCF 서비스가 실행되도록 트리거하는 작업 스케줄러에서 실행되는 스크립트만큼 간단 할 수 있습니다.
또는 창 서비스를 사용하여 대신 메시지를 사용할 수 있습니다. 메시지를 게시하자 마자 메시지를 소비하는 WCF 기능을 사용하지 않으면 처음에는 wcf를 사용할 이유가 없습니다.
WCF와 MSMQ는 훌륭한 팀입니다! 체크 아웃할만한 가치가있어.
WCF에서 제공하지 않는 부분은 "매 x 초마다 확인"입니다. 여기서 가장 좋은 방법은 Windows NT 서비스 내에 WCF 서비스를 호스팅하고 NT 서비스 내에 매 x 초마다 MSMQ 대기열을 확인하는 타이머를 두는 것입니다. 정말로 구현하기가 어렵지 않아야합니다. 뷰의 장점은 몇 줄의 코드만으로 NT 서비스 내에서 WCF 서비스를 매우 쉽게 자체 호스팅 할 수 있으며, 어떤 일이 언제 일어나는지 완벽하게 제어 할 수 있다는 것입니다. 자세한 내용은 MSDN 설명서 (How to Host a WCF service in a managed application)를 참조하십시오.
자료 :
- 1. 큰 개체를 처리하는 WCF 서비스
- 2. C++에서 x 초마다 함수를 실행하십시오.
- 3. 매 x 초마다 라벨을 업데이트하십시오.
- 4. x 초마다 동작 실행 델파이
- 5. 서비스 및 대기
- 6. 간단한 메트로놈 - x 밀리 초마다 AIF 재생
- 7. PowerShell을 사용하여 x 초마다 배치 파일 실행
- 8. 매 x 초마다 메서드를 호출하려면 어떻게해야합니까?
- 9. 매 x 초마다 가속도계를 읽는 방법은?
- 10. IFrame을 매 x 초마다 다시로드하는 방법은 무엇입니까?
- 11. WCF 서비스 및
- 12. 배경 이미지 이동 X 밀리 초마다 X 픽셀
- 13. WCF 엔드 포인트 수신 대기
- 14. WCF 서비스, 실행 속성?
- 15. WCF 서비스 프로젝트에서 다른 WCF 서비스
- 16. WCF 서비스 인증 메시지
- 17. ASP.NET에서 WCF 예외를 처리하는 방법
- 18. 초마다
- 19. 서비스 중지 및 VBScript에서 대기
- 20. WCF 서비스 디자인 예
- 21. WCF 서비스 - HTTP500
- 22. MVC에서 WCF 서비스 제공
- 23. Wcf X.509 인증서 연결 오류가있는 자체 호스팅 서비스
- 24. IIS에 wcf 서비스 배포
- 25. WCF 서비스 (Windows 서비스 포함)
- 26. WCF 서비스 호출 - 서비스 인스턴스화
- 27. .NET RIA 서비스/WCF 서비스
- 28. 서비스 참조없이 WCF 서비스 호출
- 29. 호스팅 웹 서비스/WCF 서비스?
- 30. 매 초마다 대량 데이터베이스 조작을 처리하는 방법 - 스레딩?