2010-05-31 2 views
8

서비스 측면에서 요청을 실행하기위한 시간 제한을 정의하는 WCF 구성에 무언가가 있습니까? 예 : WCF 서비스는 일정 기간 후에 요청 실행을 중단합니다. 클라이언트 입력에 따라 일부 작업을하는 서비스가 있습니다. 어떤 경우에는 그러한 호출에 너무 많은 시간이 걸릴 수 있습니다. SendTimeout을 사용하는 클라이언트가 아닌 서비스 측에서 이러한 요청의 실행 시간을 제한하려고합니다. OperationTimeout 속성에 대해 알고 있지만 서비스 요청을 중단하지 않고 클라이언트에 요청 시간이 초과되었음을 알립니다.WCF 서비스의 요청 실행 시간을 제한하는 방법은 무엇입니까?

답변

16

일반적으로이 기능을 완전히 시행 할 것은 없습니다. 불행하게도, 런타임이 실제로 상태를 엉망으로 만들지 않고서는 실제로 실행할 수없는 것들 중 하나입니다. 실행중인 스레드를 중단시키는 것이 유일한 대안이며, 이는 바람직하지 않은 결과를 가져옵니다.

기본적으로 적극적으로 적용하려는 경우 서비스를 설계하여 서비스를 처리하면 작업 실행이 안전한 중단 지점을 갖게되므로 최대 실행 시간 초과되었습니다.

많은 작업이 있지만 장기적으로는 더 만족할 것입니다.

+0

다른 해결책이없는 것처럼 보입니다. 감사합니다 – Kamarey

+1

+1 고마워요. 이 정보는 여러 곳에서 제공되지 않습니다. MS는 wcf의 전체 타임 아웃 메카니즘에 광택을내는 것처럼 보입니다. –

관련 문제