Si je déclare un champ statique dans un type instancié dans une application ASP.NET, hébergé dans IIS, est la même variable (ie même emplacement de mémoire) utilisée par tous les threads de travail utilisés par IIS, ouvrant des problèmes de concurrence?Variables statiques dans les applications Web hébergées IIS
2
A
Répondre
5
Oui. Les variables statiques sont partagées sur un AppDomain entier, ce qui signifie que tous les threads de travail qui résident dans ce AppDomain partagent la même "instance" de cette variable.
Les variables statiques sont généralement un mauvais choix pour les applications hautement concurrentes, comme les applications Web. En fonction de votre scénario spécifique, considérez session variables.
Compte tenu de cela; toutes les méthodes * statiques * devraient-elles être réintégrées dans une application Web IIS? – Ben
@Ben: oui, absolument. Les applications Web sont beaucoup plus sensibles aux problèmes de réentrance que les applications de bureau, selon mon expérience. –