문제

좋아, 이상한 설정, 이상한 질문. ASP.NET-2.0/IIS-6에서 실행되는 SAAS 앱의 클라이언트와 관리자 웹 응용 프로그램이 있습니다. 관리자 응용 프로그램은 클라이언트 응용 프로그램에 표시되는 옵션을 변경할 수 있습니다. 관리자에 해당 옵션이 저장되면 관리자에서 클라이언트의 웹 서비스를 호출하여 해당 특정 계정의 옵션 캐시를 플러시합니다.

최근에 우리는 클라이언트 응용 프로그램> 1 작업자 프로세스를 제공하기 시작하여 현재 실행중인 작업자 프로세스 중 하나에서만 옵션의 캐시가 지워지도록합니다.

그래서 나는 분명히이 문제를 해결하는 다른 방법이 있습니다 (그러나 입력은 감사합니다). 내 질문은 다음과 같습니다. 웹 요청을 통해 각 작업자 프로세스를 통해 타겟팅/반복 할 수있는 방법이 있습니까?

도움이 되었습니까?

해결책

이 답변에 대해 여기에 몇 가지 가정을하고 있습니다 ....

  1. 클라이언트 앱이 .NET 캐싱 클래스 중 하나를 사용하여 응용 프로그램 옵션을 저장하고 있다고 가정합니다.

  2. 'Flush'라고 말할 때 구성 파일 또는 DB 테이블로 다시 플러시를 의미합니까?

캐시 객체와 데이터는 프로세스간에 공유되지 않기 때문에 다른 작업자 프로세스에서 실행중인 코드에 대한 신호를 보낼 수있는 메커니즘이 필요합니다. 정확히 편리하고 가장 바람직하지 않을 가능성이 높습니다).

클라이언트 소스에 액세스 할 수없는 경우 옵션 구성 파일 또는 DB 테이블 (예 : SQLCachedEpendency 사용)을 시청하기 위해 수정하십시오.이 동작에 고착 된 것 같습니다.

다른 팁

캐시에 의해 관리자 및 클라이언트에 대한 전체 액세스 권한이 있습니다. .NET의 캐시 객체를 의미합니다. 플러시로 캐시 객체에서 항목을 제거하는 것을 의미합니다.

두 작업자 프로세스 모두 캐시 데이터를 공유하지 않는다는 것을 알고 있습니다. 그것은 일종의 수수께끼입니다)

이 시스템은 들어오는 새 세션마다 SQL을 치를 필요가없는 방법입니다. 따라서 각 작업자 프로세스를 알려주는 솔루션을 찾으려고 노력하고 있습니다. 관련된.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top