using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace AppliWebANA.Models { public static class Compteurs { public static int VisitesDuNavigateurSurLaPageDesCompteurs { get { // Ne sera jamais à null car init dans Session_Start return (int)HttpContext.Current.Session[nameof( VisitesDuNavigateurSurLaPageDesCompteurs )]; } set { HttpContext.Current.Session[nameof( VisitesDuNavigateurSurLaPageDesCompteurs )] = value; } } public static int VisitesDeLUtilisateurSurLeSite { get { if( HttpContext.Current.Response.Cookies.AllKeys.Contains( nameof( VisitesDeLUtilisateurSurLeSite ) ) ) { var c = HttpContext.Current.Response.Cookies[nameof( VisitesDeLUtilisateurSurLeSite )]; return int.Parse( c.Value ); } else { var c = HttpContext.Current.Request.Cookies[nameof( VisitesDeLUtilisateurSurLeSite )]; return c == null ? 0 : int.Parse( c.Value ); } } set { var c = HttpContext.Current.Response.Cookies[nameof( VisitesDeLUtilisateurSurLeSite )]; c.Value = value.ToString(); c.Expires = DateTime.Now.AddDays( 45 ); } } public static int NbDeVisiteurs; private static string CheminFichierNbVisiteurs; public static void Initialiser() { CheminFichierNbVisiteurs = System.Configuration.ConfigurationManager.AppSettings["AppliWebANA.Models.Compteurs.CheminFichierNbVisiteurs"]; if( System.IO.File.Exists( CheminFichierNbVisiteurs ) ) { using( var reader = new System.IO.StreamReader( CheminFichierNbVisiteurs ) ) { NbDeVisiteurs = int.Parse( reader.ReadLine() ); } } else { NbDeVisiteurs = 0; } } public static void Sauver() { using( var writer = new System.IO.StreamWriter( CheminFichierNbVisiteurs, false ) ) { writer.Write( NbDeVisiteurs ); } } } }