WCF 서비스 메서드를 실행하는 데 2 시간 이상 걸립니다 (일부 보고서 실행). 시간에 관계없이 시간 초과가 발생하지 않도록하려면 어떻게해야합니까? 나는 WCF 설정에 많은 타임 아웃 설정이 있다고 생각 하나, 어느 것이 나를 위해 적절한 것인지 모르겠습니다. ASMX 웹 서비스의 경우 무한 타임 아웃 설정을 지정하는 옵션이 있었지만 WCF와 비슷한 설정이 있습니까? 또한 작업자 프로세스의 리사이클, 유휴 시간 초과 등과 같은 IIS 설정을 변경해야합니까 (IIS에서 호스팅되는 WCF servicie)?장기 실행 WCF 서비스에 대한 시간 제한 설정
답변
콜백 사용을 고려 했습니까? 클라이언트가 요청을 보낸 다음 서버에서 완료 될 때까지 서버로부터 알림을 기다립니다. 이것은 아마도 클라이언트의 변경을 필요로 할 것입니다. 그러나 그런 식으로 서비스는 "체인을 덜컥 거리며"보고가 끝나면 클라이언트에게 알릴 수 있습니다.
도움 : http://idunno.org/archive/2008/05/29/wcf-callbacks-a-beginners-guide.aspx
WCF는 제한 시간 : http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/84551e45-19a2-4d0d-bcc0-516a4041943d/
당신은 또한뿐만 아니라, 클라이언트 측에서 시간 제한을 고려해야합니다. (binding.OpenTimeout, ReceiveTimeout, CloseTimeout 등)
또 다른 옵션은 방정식에서 IIS를 제거 같은 상황을 단순화 할 수있는 Windows 서비스에서 WCF를 호스트하는 것입니다 :
http://msdn.microsoft.com/en-us/library/ms733069.aspx
또는 단방향 WCF 통화를 사용하는 것은 어떻습니까? 그러면 요청을 보낸 후 호출이 최대한 빨리 클라이언트에 반환됩니다.
이것은 웹 서비스 악용 사례입니다. 이러지 마.
대신 웹 서비스가 별도의 프로세스에서 실행되는 장기 실행 작업을 시작하게하십시오. 고객이 보고서 작성시기를 알아야 할 경우 보고서 작성을 추적하고 보고서가 완료되면 메모를 작성하게하십시오. 클라이언트는 웹 서비스를 호출하여 해당 상태를 확인할 수 있습니다.
실제로 몇 시간 동안 열려있는 HTTP 연결에 의존하고 싶지 않습니다. 그것은 네트워크입니다. 네트워크에서 상황이 발생합니다. 나쁜 것들.
네, 맞습니다. Windows 서비스에서 WCF 서비스를 호스팅하여 시간 초과 문제를 해결할 수 있는지 확인하려고합니다. – RKP
대신 WCF workflow service (사용 WF)을 생성 고려한다. 이는 특히 장기 지속성을 사용하는 경우 장기 실행 프로세스를 처리하도록 특별히 설계되었습니다.
답장을 보내 주셔서 감사합니다. 이것은 워크 플로가 아니며 실행하는 데 시간이 오래 걸리는 작업이므로 WF를 사용하면 과도한 작업 일 수 있습니다. – RKP
- 1. WCF 수신 제한 시간
- 2. 내부 WCF 서비스에 대한 액세스 제한
- 3. WCF 트랜잭션 시간 제한 테스트
- 4. AJAX 가능 WCF 서비스에 대한 장기 실행 ASPX 요청에 대한 브라우저 업데이트를 수행하는 방법은 무엇입니까?
- 5. 리모팅 설정 시간 제한
- 6. 제한 시간 WCF 서비스
- 7. ActionMailer 실행 제한 시간
- 8. WCF 서비스 제한 설정
- 9. PHP 실행 시간 제한 확대
- 10. IPad 앱 실행 시간 제한
- 11. 웹 서비스에 대한 액세스 제한
- 12. 설정 속성 @ 실행 시간
- 13. 확장 쿼리 제한 시간 설정
- 14. WPF의 시간 제한 이벤트 설정
- 15. JBoss 트랜잭션 제한 시간 설정?
- 16. 스레드 클래스에 제한 시간 설정
- 17. Silverlight 4 WCF Ria 서비스 제한 시간
- 18. 부두 서버에 대한 연결/요청 제한 시간 설정 방법은 무엇입니까?
- 19. 장기 실행 프로세스 종료
- 20. WCF 서비스에 대한 HTTP POST
- 21. WCF 서비스에 대한 동적 수정
- 22. WCF 서비스에 대한 HTTP POST
- 23. WCF의 장기 실행 비동기 스레드
- 24. ASP.NET 다중 스레드 및 장기 실행 작업 시간 초과
- 25. ASP.NET + WCF에서의 장기 실행 스레드 프로세스
- 26. ASP.NET을 통해 호출되는 장기 실행 작업의 패턴
- 27. 장기 실행 작업에 대한 Winform 업데이트
- 28. SSIS 2005 스크립트 작업에서 시간 제한 설정
- 29. 장기 실행 프로세스는
- 30. 응용 프로그램 풀에 대한 유휴 시간 제한 설정
예, Windows 서비스에서 WCF 서비스를 호스팅하려고합니다.이 서비스는 장기 실행 작업이고 사용자가 알림을받는 데 너무 오래 기다릴 수 없기 때문에이 시나리오에서는 콜백이 적절하지 않다고 생각합니다. 결과. 그것은 화재 및 전화를 잊어 버리고 사용자는 네트워크상의 파일 시스템을 검사하여 보고서가 작성되었는지 여부를 확인합니다. 처음에는 설치 및 제거의 번거 로움 때문에 Windows 서비스 사용에 반대하여 IIS를 사용해 보았지만 시간 초과 문제가 발생했습니다. – RKP
WCF에서 편도 전화를 사용하는 것은 어떻습니까? http://stackoverflow.com/questions/774648/need-sample-fire-and-forget-async-call-to-wcf-service – Larsbj