Ce qui est mieux: variable Statique V. S. Asp.NET la Session de l'Application?
Dire que vous souhaitez partager certaines ressources, comme une classe ou une variable dans tous les threads/sessions à l'intérieur d'un ASP.NET application web. Ce qui est mieux?
1) Une variable statique avoir thread-safe accesseurs pour que la variable statique?
2) Ou d'une ASP.NET l'application variable de session?
C'est un dupe de stackoverflow.com/questions/303725/...
Ahh ok... je ne savais pas que... que dois-je faire à peu près à cette question, alors?
Ahh ok... je ne savais pas que... que dois-je faire à peu près à cette question, alors?
OriginalL'auteur 7wp | 2009-05-21
Vous devez vous connecter pour publier un commentaire.
Si vous avez un de ceux-ci, il y a peu de différence.
Si vous en avez plusieurs, vous devez utiliser des variables statiques plutôt que
Application
variables. LeApplication.Lock
méthode de verrouillage tousApplication
variables, tandis que vous pouvez utiliser des syncronisition les identifiants de votre statique des variables, de sorte que chaque écluse seulement affecte le code qui accède à cette variable spécifique.Ensuite, vous ne pouvez pas partager le même objet, et que vous envoyez des données entre les serveurs. Voici un article qui donne un aperçu des possibilités: codeproject.com/Articles/180726/...
OriginalL'auteur Guffa
Les Membres statiques offrent de meilleures performances, mais l'inconvénient est qu'ils ne sont pas thread-safe:
Il est recommandé d'y stocker des données membres statiques de la classe d'application au lieu de l'objet Application. Cela augmente la performance parce que vous pouvez accéder à une variable statique plus vite que vous pouvez accéder à un élément dans l'Application dictionnaire.
À partir de: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q312607
et:
http://weblogs.asp.net/plip/archive/2003/12/01/40526.aspx
OriginalL'auteur atconway
C'est un scénario courant dans lequel vous allez par le biais de plusieurs pages et de collecte de données. Je voudrais utiliser un objet de Session pour ce scénario. Les variables statiques doivent être utilisés lors de l'application complète est dans le besoin pour le même objet.
Si la valeur que vous voulez tenir dépend de l'utilisateur, puis Session d'utilisation.
OriginalL'auteur azamsharp
C'est vrai, les variables de session ne doit être utilisé pour si vous souhaitez stocker la valeur pour l'ensemble de la session, mais dans le cas où vous souhaitez les variables à intitialized et pour être utilisé entre les formes et si changé entre devraient être disponibles à travers l'ensemble de l'application pour le même objet doivent utiliser des variables statiques.
OriginalL'auteur