콜백을 구현하는 WCF 서비스를 구현했습니다. 클라이언트 웹 앱이 HTTP API 및 원격 클라이언트 응용 프로그램을 통해 WCF에 연결되어 있으며, Windows OS에서 실행되고 net.TCP를 사용하여 WCF에 연결되는 콜백 지원을 포함합니다.WCF net.TCP 트래픽 설명
이제 클라이언트가 원격 및 원격으로 액션을 보내 콜백 리턴 값으로 상태를 반환합니다.
나는 매 2 분마다 활동이 없다면 살아있는 net.TCP를 유지하기 위해 ImAlive (bool WCF.ImALIVE (machineID) 호출)를 전송하는 스레드가 있습니다.
내 질문 : 클라이언트에서 콜백 동작을 얻고 원격 실행 중에 ImAlive 스레드 웨이크 업을 호출하고 WCF.ImALIVE를 호출하면 블록이나 교착 상태 또는 시간 초과 문제가 있습니까?
특정 발신자에게 전용 스레드를 제공하는 것은 좋은 생각이 아닙니다. 어떤 스레드 (스레드 안전 데이터 액세스)가로드하거나 검사 할 수있는 방식으로 서버 측 클라이언트 세션 상태 데이터를 저장할 수 있습니까? 이렇게하면 클라이언트가 유휴 상태 일 때 다른 클라이언트 요청을 처리 할 수있는 스레드를 묶어 두지 않습니다. – James