2012-02-06 3 views
0

여러 가지 기능을 위해 여러 개의 버튼이있는 탭이있는 상황이 있습니다. 각 탭은 다른 기능 집합 (예 : 고객, 주문 및 관리자) 용입니다.HTML 코드의 캐시 섹션 - ASP.Net

원래 디자인 된 방식으로 모든 탭과 모든 버튼을로드했습니다. 표시되는 단추는 로그온 한 사용자에 따라 다릅니다.

또한 사용자가 함수를 클릭하면 해당 페이지의 코드가로드되고 해당 탭의 단추는 물론 다른 탭의 코드도 바뀝니다. 이것이 매우 효율적이라고 생각하지 않으며 AJAX를 사용하여 탭의 내용을로드하는 것이 더 좋을 것이라고 추측 할 수 있습니다.

이 동작을 수행하고 코드 응답 성을 향상시키는 가장 좋은 방법은 무엇입니까? 내 생각에, 세션 변수에 탭 div 안에 들어가는 html을 저장하므로 사용자가 로그온 한 다음 한 번만 코드를 가져 와서 현재 선택한 항목을 기반으로 사용자에게 다시 제공하면됩니다. 탭.

세션 데이터가 모두 함께 저장되며, 각 페이지로드의 시작 독서에 모두 함께 읽고, 모든 말에 모두 함께 쓰기 : 당신이 당신의 광산에 있어야합니다 세션에 저장하려면

답변

1

페이지를 읽습니다. 세션은 모든 사용자를 잠그므로 너무 많은 데이터를 추가하고 세션에서 읽고 쓰는 데 지연을 만들면 사이트의 사용자에게 영향을 미칠 수 있습니다. 이미징은 세션 및 그 약 300k에 저장하는 큰 html 페이지 데이터를 작성한 다음 동일한 10 시간을 작성하면 세션 데이터는 항상 읽고 읽고 써야하는 3M이됩니다.

그래서 사용자 세션을 따르는 추가 데이터를 추가하는 것이 좋습니다.

데이터베이스에서 사용자 정의 캐시를 만들고 세션 키 ID 만 사용하여 저장하고 사용자가 해당 페이지를 입력 할 때만로드하면 사용자가 변경할 때만 저장하십시오.

다른 한편으로는 사용자가 많지 않고 빠르게 만들거나 데이터베이스 연결이 없거나 작은 사용자 정의 캐시를 만들기가 어려울 경우 세션을 1 ~ 2 회 사용하십시오 그 데이터.

+0

나는 그것을 생각하지 않았지만 큰 점이 있습니다. 감사. – Wade73

+0

@ Wade73 asp.net 개발 년 후, 나는 내 사용자 지정 캐시 및 사용자 지정 세션이 있습니다. asp.net이 제공하는 모든 기능은 매우 훌륭하지만 시간이 지나면 더 많이 배울 수 있습니다. 더 많은 기능을 사용하려면 변경할 수 있습니다. MS는 훌륭하게 해냈지만 기능을 사용하는 일반적인 기능이므로 약간의 제한이 있습니다. – Aristos