Activation du partage de sessions multi-framework dans les applications .NET
Problème :
Deux applications Web, l'une construite sur .NET 2.0 et l'autre sur .NET 3.5 (MVC2), déployées sur le même serveur, nécessitent un état de session partagé. Malgré des configurations de mode StateServer
et de chaîne de connexion identiques, l'application MVC2 ne parvient pas à récupérer les sessions initiées par l'application .NET 2.0.
Résolution :
Le partage de session direct entre des applications .NET utilisant différents frameworks n'est pas intrinsèquement pris en charge. Une solution de gestion de session centralisée ou un magasin de sessions basé sur une base de données est nécessaire.
Mise en œuvre :
Employez un fournisseur de session partagée accessible aux deux applications. Le fournisseur de session SQL Server intégré constitue un choix approprié. Configurez les web.config
fichiers des deux applications comme suit :
sessionState
Configuration :<code class="language-xml"><sessionState mode="SQLServer" sqlConnectionString="..." /></code>
machineKey
Configuration :<code class="language-xml"><machineKey decryption="AES" validation="SHA1" validationKey="..." /></code>
Il est essentiel que les deux applications se connectent à la même base de données SQL Server. De plus, la TempGetAppID
procédure stockée peut nécessiter des modifications comme détaillé dans la documentation MSDN pertinente (un lien vers la documentation serait utile ici s'il est disponible).
En utilisant un machineKey
cohérent et un fournisseur de session partagé, les deux applications peuvent partager avec succès des clés de session et former des cookies d'authentification, permettant une gestion transparente des sessions sur différentes versions du framework .NET.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!