2012-11-24 3 views
0

Asp.net 캐시에 서버 컨트롤을 저장하는 것이 바람직 할 수 있습니까?Asp.net 캐시에 서버 컨트롤을 저장할 수 있습니까?

HtmlGenericControl 컨트롤을 만든 다음 Page.Cache에 추가 한 다음 OnInit()에서 검색하여 페이지 컨트롤 컬렉션에 추가하는 것이 좋지 않습니까?

아니면 ParseControl을 사용하는 것이 더 좋습니까?

답변

1

다소 위험합니다. 페이지가 호출 될 때마다 인스턴스가 생성됩니다. 이 인스턴스에는 디자이너가 입력 한 모든 컨트롤의 인스턴스가 있습니다. 컨트롤의 인스턴스를 캐시에 저장하면 페이지의 여러 인스턴스가 컨트롤의 인스턴스를 공유하는 상황이 발생할 수 있습니다. 이 컨트롤 데이터 부분은 공유 될 것이므로주의해야합니다.

+0

나는 항상 같은 페이지 일 것이다. –

0

컨트롤은 페이지에만 한정되므로 (예 : 페이지 속성 포함) 캐시에 저장하고 공유 할 수 없습니다 여러 페이지. 어쩌면 fragment caching을보실 수 있습니다.

관련 문제