내가 웹 응용 프로그램 (들) WCF를 통해를 통해 통신 할 수있는 Windows 서비스를 사용하는 것이 좋습니다 것입니다 볼 수 있습니다.
이렇게하면 유연성이 뛰어납니다. 프로세스 외부에서 데이터를 추가로 처리 할 수 있습니다 (예 : "확장 된 네트워크의 50 명이 온라인 상태 임"과 같은 현재 상태 통계 집계). Windows 서비스는 프로세스 상태 메커니즘에있는 모든 제한 사항을 완전히 없애줍니다. 자유롭게 부하를 분산하고 여러 응용 프로그램에서 데이터를 소비하게 할 수 있습니다.
데이터가 소모성 인 경우 서비스에 상태를 저장하지 마십시오. 그렇지 않으면 일부/전체/주기적 데이터를 데이터베이스에 보관하십시오. 그러면 서비스 및/또는 웹 사이트가 다운 된 경우에도 복구 할 수 있습니다.
마지막으로 서비스에 종속 된 응용 프로그램을 빌드하면 은 잠재적 인 단일 실패 지점이됩니다.입니다. 최적의 설치는 데이터베이스 또는 동기화 메커니즘을 사용하여 프로세스 외부 서비스의 중복성을 보장합니다.
편집 : 원래 질문에 대한 자세한 정보를 얻기 위해 정적 구성원은 ASP.Net 사이트가 실행중인 응용 프로그램 도메인에 대한 모든 HTTP 요청에서 사용할 수 있습니다. 정적 변수는 다음과 같은 방법으로 지정할 수 있습니다. 속성)에 액세스 할 수 있습니다 (예 : ThreadStaticAttribute
).
실제로 정적 변수는 값이 싼/약한 솔루션입니다. 수동으로 액세스를 동기화해야하며 만료를 거의 제어 할 수 없습니다. 추가 요구 사항없이 캐시 기반 솔루션을 구현하거나 앞에서 설명한 프로세스 외 방법론으로 이동하여 엔터프라이즈 요구 사항을 지원할 수 있습니다.
이 데이터를 두 세션에 모두 저장할 수 있어야합니다. 캐시, 응용 프로그램 또는 DB에 저장하는 것이 좋습니다. – Zachary