Mon défi est le suivant. Je voudrais maintenir le modèle Post/Redirect/Get pour les formulaires publiés, mais après la redirection, je veux toujours montrer l'état du formulaire en cas de champs invalides. Cette information peut être transmise en la stockant dans la session assez facilement.Puis-je activer et désactiver les sessions persistantes sur un équilibreur de charge à partir du site Web situé derrière?
Toutefois, ces sites s'exécutent généralement sur plusieurs serveurs Web derrière un équilibreur de charge, qui sont configurés pour ne pas être collants. Il n'y a pas non plus d'état de session partagée à dessein.
L'utilisation de l'état de session locale sur les serveurs Web serait préférable pour l'évolutivité, mais pour ce faire, vous avez besoin de sessions persistantes. Les sessions collantes sont toutefois un obstacle pour les personnes qui gèrent les serveurs, car après avoir supprimé certains serveurs de l'équilibreur de charge pour faire une version, ils doivent encore attendre 10 à 15 minutes avant la fin de toutes les sessions. Sans collage, c'est presque instantanément.
Ce qui serait vraiment cool, c'est de rendre la session collante pour une seule requête ultérieure après un POST ou un REDIRECT. Ou même avoir un contrôle total sur quand activer ou désactiver le caractère collant du code.
Est-ce que quelqu'un sait si ce comportement est possible? En réglant un certain cookie peut-être? Ou un en-tête http?
Vous nous avez dit que rien soit le logiciel d'application ou de matériel LB en cours d'utilisation, et donc rien sur lequel fonder une réponse. – skaffman
Le logiciel d'application est un site Web basé sur ASP.NET MVC fonctionnant sous IIS6. Je ne sais pas encore quel load balancer est utilisé, mais je le saurai demain. J'ai déjà pensé que - si c'est possible - cela dépendra probablement du modèle de l'équilibreur de charge. Mais peut-être connaissez-vous déjà certains équilibreurs de charge dotés de ce genre de truc, alors que d'autres ne le font pas. Ou même mieux, une façon générique de le faire. –
L'équilibreur de charge est un Netscaler Citrix. –