2011-05-20 1 views
1

Je veux trouver la personne connectéMVC3- ASP.NET journalisée dans les méthodes individuelles Different

Quelle est la différence entre ce qui suit.

string loggedInName = HttpContext.User.Identity.Name.ToString();

string loggedInName = HttpContext.Current.User.Identity.Name.ToString(); 

Je pose cette question parce que je ne peux pas utiliser le second dans le contrôleur. Il donne l'erreur suivante

System.Web.HttpContextBase' does not contain a definition for 'Current' and no extension method 'Current' accepting a first argument of type 'System.Web.HttpContextBase' could be found (are you missing a using directive or an assembly reference?) 

Répondre

1

HttpContext.Current est une méthode statique qui retourne le contexte actuel http, tout contexte est une méthode d'instance définie dans la classe de page qui renvoie la contexte http actuel (il appelle simplement la fonction ci-dessus).

2

Ils sont identiques uniquement si vous ne travaillez pas avec des threads; System.Web.HttpContext.Current contient la valeur liée au thread. C'est-à-dire, dans n'importe quel thread supplémentaire, vous ne pouvez pas accéder à HttpContext.Current.