2010-03-19 6 views
2

디스크에 저장된 데이터를 요청하는 데 사용되는 기본 ASP.NET 응용 프로그램이 있습니다. 이 파일에서로드되고 응답으로 보냈습니다. 디스크에서 읽는 횟수를 줄이기 위해이 파일에서로드 된 데이터를 메모리에 저장할 수 있기를 원합니다.ASP.NET 응용 프로그램의 공유 데이터

모든 요청에서 동일한 데이터를 요청할 것이므로 모든 요청에서 액세스 할 수있는 메모리 내 데이터의 단일 캐시를 갖는 것이 좋습니다.

이 캐시 된 데이터를 저장하고 액세스하는 데 사용할 수있는 단일 액세스 가능 개체 인스턴스를 만드는 가장 좋은 방법은 무엇입니까? HttpApplication을 살펴 보았지만이 새로운 인스턴스가 병렬 요청을 위해 만들어 지므로 내 필요에 맞지 않습니다.

답변

2

먼저 응답을 캐시 할 수 있습니다. 여기를보십시오 : How to cache in ASP.NET by using Visual C# .NET

수동으로 파일을 메모리에로드하고 정적 필드에 내용을 보관할 수 있습니다. 동일한 응용 프로그램 도메인의 모든 클라이언트간에 공유됩니다.

어쨌든, 이것은 서버 메모리를 소비합니다. 당신이 충분히했는지 확인하십시오.

+0

세션에 넣으시겠습니까? 어떻게 도움이된다면 모든 클라이언트 (세션)에 대한 메모리에 파일 사본을 보유하게 될 것입니다 ... – Peter

+0

네가 맞다. 내 잘못이다. –

0

사용 this.Cache.Add/

이 캐시 API는 간단하고 MOSTE 경우에 훌륭한 작품을 가져옵니다.

+0

아마도이 메모리에 캐시? 그리고 모든 병렬 요청이 액세스 할 수있는 하나의 캐시가 있습니까? 그렇다면 감사합니다. 괜찮습니다. :) – Barguast

+0

예 barguast 이것은 사실이며 동일한 키를 사용하면 메모리에 하나의 인스턴스 만로드됩니다. – Peter

관련 문제