우리가 만든 공통 비즈니스 개체를 사용하는 ASP.net 응용 프로그램이 있습니다. 이러한 비즈니스 개체는 다른 Windows 서비스 또는 콘솔 응용 프로그램에도 사용됩니다.C#에서 미들웨어 캐싱을위한 솔루션이 필요합니다.
나는 foo.loadClient() 및 bar.loadClient()를 호출하면 "foo"클래스와 "bar"클래스가 있고 각각 loadClient() 함수가있는 문제는, 각 요청은 데이터베이스에 도달합니다. 나는 일종의 캐시를 구현하는 것이 불필요한 왕복 여행을 줄이는 것이라고 생각합니다.
다음은 catch입니다. ASP.net App에서 제공되는 각 HTTP 요청에 대해 캐시를 지정해야합니다. 즉, 새로운 요청은 새로운 캐시를 얻습니다. 캐시는 90 %가 유틸리티이기 때문에 다른 콘솔 응용 프로그램의 수명 동안 존재할 수 있습니다.
저는 System.Web.Cache를 사용할 수 있지만 System.Web 라이브러리에 연결된 미들웨어는 원하지 않습니다.
희망 사항. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 감사합니다.
감사합니다. MS Caching Application Block에 대해 살펴 보겠습니다. 우리는 System.Web.Cache의 일부 사용을 가능하게합니다. 그러나 각 요청, 특히 미들 티어에서 DB로부터 끌어낼 물건이 있습니다. 하나의 요청이 5 개의 다른 액션을 수행하고 각각의 액션이 DB에서 동일한 객체를로드하면 DB에서 객체를 한 번로드해야합니다. 우리는로드 밸런싱 된 웹 서버를 가지고 있기 때문에 한 요청에서 DB의 개체를 여러 번로드하면 일치하지 않는 데이터가로드 될 수 있습니다. – Jonathan