Cela dépend de ce que vous essayez de suivre. Si vous essayez de suivre l'utilisateur à la volée pendant qu'il se déplace sur votre site, vous feriez mieux de mettre un petit jeton dans la session - comme Ricardo states in his answer.
Si vous voulez suivre la façon dont des liens particuliers exécutent sur votre site, ou qui relie un utilisateur est suit, alors vous aurez besoin d'utiliser un peu de JavaScript:
Fondamentalement, vous devrez créer un onclick
événement sur les balises <a>
qui appelle un service (ou similaire) sur votre serveur pour suivre/enregistrer le fait que ce clic est arrivé.
Si cette méthode renvoie true
, le contrôle retournera au navigateur et le fichier href d'origine sera demandé.
Cet exemple suppose l'utilisation de jQuery, mais d'autres bibliothèques vous permettra de réaliser des choses semblables - vous pouvez utiliser tous les outils ASP.NET natifs, je viens d'avoir ce code à la main:
<a href="/someUrl.aspx" onClick="javascript:TrackThis(this);return true;">text</a>
<script type="text/javascript">
function TrackThis(link){
$.ajax({
url: "/WebServices/ClickTracker.asmx/Track",
type: "POST",
dataType: "json",
data: "{\"url\":\"" + link + "\", \"page\":\"" + window.location + "\"}"
contentType: "application/json; charset=utf-8"
});
}
Ensuite, vous pouvez créer un service Web simple qui prend les valeurs que vous transmettez (dans ce cas la valeur du lien sur lequel l'utilisateur a cliqué, et l'URL de la page où il était à ce moment), effectue son traitement, et reste à l'écart. Google fait quelque chose de très similaire à cela avec leurs résultats de recherche - l'URL dans la barre d'état des navigateurs et que vous arrivez à est celui du site indexé, mais au milieu, vous visitez une page de suivi sur les serveurs de Google pour dire que vous avez cliqué dessus, qui utilise l'événement onclick
.
Je ne peux pas utiliser session.Nous utilisons un serveur de gestion de contenu n'importe qui peut ajouter la chaîne de requête et je ne pense pas que je serais en mesure de suivre tous en utilisant la session. –
Mise à jour de ma réponse pour inclure une nouvelle solution –