Nous construisons un site adapté aux mobiles pour travailler en tandem avec le site Internet MOSS 2007 de notre client. Nous devons être en mesure de rediriger les utilisateurs qui accèdent à la page d'accueil et utilisent un appareil mobile.Comment contourner le cache de sortie dans SharePoint 2007 Publier le site Internet
Notre intention initiale était d'ajouter un contrôle personnalisé à la mise en page de la page d'accueil qui détecterait le périphérique de l'utilisateur actuel et rediriger vers le site mobile en conséquence. Nous avons rapidement réalisé que cela ne fonctionnerait pas car nous utilisons la fonctionnalité de mise en cache de sortie fournie par SharePoint/Asp.Net. Cela signifie que le code de détection ne sera exécuté que pour le premier visiteur de la page d'accueil jusqu'à l'expiration du cache.
Notre idée suivante consistait à construire un module HTTP personnalisé et à y traiter la détection. Cependant, nous constatons que la mise en cache de sortie ne le permet pas non plus. Si le cache est défini pendant la visite d'un appareil mobile, tous les navigateurs sont ensuite redirigés vers le site mobile (jusqu'à l'expiration du cache).
Si nous désactivons la mise en cache de sortie, cela fonctionne très bien, mais nous ne pouvons pas désactiver la mise en cache des sorties, en particulier pour la page d'accueil. Nous avons étudié Investigation (Donut) Caching mais cela ne fonctionne pas parce que nous filtrons la réponse Asp.Net dans un autre module HTTP qui range le HTML rendu pour des raisons de compatibilité XHTML. J'ai également expérimenté avec le profil de cache de sortie en le définissant à la propriété vary-by-header à "User-Agent" mais je reçois des résultats mitigés et je suis également préoccupé par les implications de mémoire des versions multipel de cache (nous avons déjà problèmes de mémoire maintenant et puis).
Il est possible que nous puissions exécuter le code de redirection en JavaScript, mais nous risquons de ne pas détecter beaucoup de périphériques sur lesquels JavaScript n'est pas activé. Il s'agit d'un site Web gouvernemental, l'utilisation de JavaScript doit donc respecter les consignes d'accessibilité.
Est-ce que quelqu'un a d'autres idées sur la façon dont nous pouvons résoudre ce problème? Est-ce que quelqu'un a déjà fait ça? Peut-être d'une manière différente?
J'espère que vous pouvez aider, merci.
p.s. J'ai également demandé ce question on SharePoint.SE mais je voulais avoir le plus d'yeux possible sur ce sujet.
Merci, ceci est une suggestion intéressante et devrait probablement fonctionner. Mes compétences m'ont conduit sur un chemin différent et ont fourni une approche alternative ci-dessous. –