2012-05-31 1 views
0

cookieless 세션 (즉, 세션 ID는 쿠키가 아니라 url에 있음) 및 테마를 사용하는 asp.net 웹 응용 프로그램이 있습니다. CSS를 참조 이미지가 CSS의 위치로 상대 경로를 사용하는 경우asp.net 쿠키리스 세션 및 앱 테마는 세션 ID없이 URL에서 참조하는 CSS 파일을 가질 수 있습니까?

http://website/(S(12344jkjl232343)/app_themes/folder/site.css 

, 그 : 테마를 사용 는, CSS 파일에 대한 참조는 같은 세션 ID를 포함하는 URL을 사용하여 클라이언트로 전송되는 HTML에 포함됩니다 이미지는 세션 ID도 포함하는 URL을 통해 검색됩니다.

로그인 할 때마다 세션 ID가 변경되므로 클라이언트는 세션 시작시 항상 한 번 이상 서버에서 css 파일을 요청해야하며 로컬 브라우저 캐시를 사용할 수 없습니다.

asp.net에 세션 ID가없는 리소스 파일에 대한 링크를 삽입하는 간단한 방법이있어서 반복 방문자가 로컬 브라우저 캐시를 사용할 수 있습니까?

빠르고 간단하며 위험한 방법을 찾고 있습니다. 즉, 처음부터 테마 사용을 멀리하는 것보다 더 간단하고 (그리고 작은 재 테스트 표면을 만드는 것입니다. 이것은 중기 계획입니다).

감사합니다.

답변

1

쿠키없는 세션을 사용하는 경우 사용자가 항상 동일한 웹 사이트에 있다고 추측합니다.

동일한 웹 사이트에있는 경우 http를 통해 테마를 전송할 필요가 없습니다. 대신 세션 (메모리)에 테마를 저장하십시오.

// store the selected theme 
this.Session["theme"] = "/app_themes/folder/site.css"; 

또는 테이블을 만들고 바로이 ID를

// store the selected theme 
this.Session["Themeid"] = "1"; 
+0

감사를 저장합니다. 실제로 일단 asp.net 테마 처리 *를 사용하면 우리의 잠재적 솔루션 *은 더욱 간단해질 것입니다. 솔직히,이 애플 리케이션에서 처음부터 asp.net 테마를 사용할 아무 이유도 없지만, 지금은 레거시 애플 리케이션이 이런 식으로 만들어졌으며 우리는 모든 aspx 파일을 만질 필요가없는 쉬운 방법을 찾고 있습니다. asp.net 테마 처리를 그대로 유지하기위한 쉬운 (아마도 구성 가능한) 설정이있는 경우 더 많은 질문이 있습니다. asp.net에서 정적 URL을 사용하면 모든 aspx 파일을 만질 필요가 없습니다. 나는 그 대답이 단순히 "아니오"라고 기대하지만 확실하게하고 싶다. –