최근 JSON 형식의 결과를 반환하는 비교적 간단한 WCF REST 서비스에서 개발을 시작했습니다. 처음에는 모든 것이 훌륭하게 작동했으며 서비스가 신속하게 가동되었습니다.InstanceContextMode.Single in WCF wsHttpBinding, webHttpBinding 및 REST
이 서비스의 주요 기능은 데이터베이스에서 추출한 많은 양의 데이터를 반환하는 것입니다. 이 데이터는 거의 변경되지 않으므로 작업 속도를 높이기 위해 캐싱 메커니즘을 설정하기로했습니다. 이를 위해 InstanceContextMode.Single과 ConcurrencyMode.Multiple을 설정하고 일부 스레드 잠금을 사용하여 정적 캐시 된 결과를 안전하게 반환하려고했습니다. 5 분마다 또는 IIS가 모든 것을 지우기로 결정할 때마다 데이터가 데이터베이스에서 다시 가져와집니다.
내 문제는 InstanceContextMode.Single이 예상대로 동작하지 않습니다. 내 이해 WCF 서비스 클래스의 단일 인스턴스를 만들고 유지 관리해야합니다. 그러나 내가 가진 행동은 클래스 당 완전히 새로운 인스턴스입니다. 여기에는 모든 정적 변수를 다시 초기화하는 작업이 포함됩니다.
내가있는 wsHttpBinding에 (REST에 사용)으로 WebHttpBinding에서 웹 서비스를 변경하고, SOAP의 설정으로 서비스를 사용했지만,이 정확히 같은 문제가 발생합니다.
내가 뭘 잘못하고 있니? 이것을 이해하려고 너무 오랜 시간을 보냈습니다.
도움이 될 것입니다!.
서비스 정의 및 구성을 게시 할 수 있습니까? –