2010-12-09 2 views
1

우리는 고객의 MOSS 2007 인터넷 사이트와 함께 작동하도록 모바일 친화적 인 사이트를 구축하고 있습니다. 홈 페이지를 방문하고 모바일 장치를 사용하는 사용자를 리디렉션 할 수 있어야합니다.SharePoint 2007에서 출력 캐시를 무시하는 방법 게시 인터넷 사이트

원래 의도는 현재 사용자의 장치를 감지하고 이에 따라 모바일 사이트로 리디렉션하는 홈 페이지 레이아웃에 맞춤 컨트롤을 추가하는 것이 었습니다. 우리는 SharePoint/Asp.Net에서 제공하는 출력 캐싱 기능을 사용함에 따라 이것이 작동하지 않는다는 것을 빨리 알았습니다. 즉, 검색 코드는 캐시가 만료 될 때까지 홈 페이지의 첫 번째 방문자에 대해서만 실행됩니다.

우리의 다음 아이디어는 사용자 지정 HTTP 모듈을 작성하고 거기에서 감지를 처리하는 것이 었습니다. 그러나 출력 캐싱이이를 허용하지 않는다는 사실을 알게되었습니다. 모바일 장치가 방문하는 동안 캐시가 설정되면 이후 모든 브라우저가 캐시가 만료 될 때까지 모바일 사이트로 리디렉션됩니다.

출력 캐싱을 해제하면 정상적으로 작동하지만 출력 캐싱을 해제 할 수는 없습니다. 특히 홈 페이지에서는 캐싱을 해제 할 수 없습니다. Substitution (Donut) Caching을 조사했지만, XHTML 호환성을 위해 렌더링 된 HTML을 정돈하는 다른 HTTP 모듈 내에서 Asp.Net 응답을 필터링한다는 사실로 인해 작동하지 않습니다. 나는 또한 출력 캐쉬 프로파일을 "User-Agent"에 따라 헤더 속성을 다르게 설정하여 실험했지만 혼합 된 결과를 얻었고 multipel 버전의 페이지 캐싱과 관련된 메모리 관련 문제에 대해서도 염두에 둡니다. 메모리 문제가 발생했습니다.).

리디렉션 코드를 자바 스크립트로 실행할 수는 있지만 자바 스크립트를 사용할 수없는 기기가 많이 발견되지 않을 수 있습니다. 이것은 정부 웹 사이트이므로 JavaScript의 사용법은 접근성 지침을 준수해야합니다.

누구든지이 문제를 해결할 수있는 방법에 대해 다른 아이디어가 있습니까? 누구든지 전에 이것을 했습니까? 아마도 다른 방식으로?

희망을 보내 주시면 감사하겠습니다.

p.s. 나는 또한이 question on SharePoint.SE을 물었지만 가능한 한 많은 눈을 갖기를 원했습니다.

답변

2

난 당신이 내가 실제로 내가 생각하는이 일을 해결 한 ISAPI filters

+0

감사합니다. 이것은 흥미로운 제안이며 아마도 효과가있을 것입니다. 내 스킬 셋은 나를 다른 길로 이끌 었으며 아래의 대안을 제시했다. –

0

을 시도하는 것이 좋습니다 것입니다. 나는이 기사를 꽤 많이 따라왔다. - http://msdn.microsoft.com/en-us/library/ms550239.aspx. 현재 페이지가 홈 페이지인지 여부, 현재 사용자가 모바일 장치를 사용하는지 여부, 쿠키가 존재하여 전체 사이트에 사용자를 강제 적용하는지 여부에 따라 캐시 키를 작성하기 위해이 기사의 코드를 업데이트했습니다. 아마 이것을 블로그 포스트로 쓸 것입니다. 내가 할 때 나는이 대답을 업데이 트하여 링크를 제공 할 것이다.

관련 문제