2009-07-31 10 views
1

Je travaille avec l'application ASP.NET propriétaire d'un client, à laquelle nous avons ajouté un wiki PHP à un sous-répertoire sur le même serveur. L'application PHP s'authentifie par rapport aux cookies que l'application .NET utilise. Tout cela fonctionne très bien.Session expirant sur l'application ASP.NET après avoir visité l'application PHP sur le même serveur

Lorsque vous vous connectez à l'application .NET, puis visitez l'application PHP (Dokuwiki), puis visitez une page sur l'application .NET, il signale que la session est expiré et vous demande de vous connecter avant.

Les deux applications génèrent des cookies, mais aucun d'entre eux ne porte un conflit de nom. J'ai retiré le code dans l'application PHP qui s'authentifie contre le cookie pour s'assurer que je ne causait pas le problème avec l'authentification PHP, mais le problème a persisté. À l'exception de certaines choses frontales, je n'ai aucun contrôle sur le backend ASP.NET, mais j'ai créé une page .ASPX errante dans un dossier qui force l'authentification si un utilisateur la visite. J'ai créé cette page dans un éditeur de texte brut, pas dans Visual Studio, donc elle n'a généré aucun code derrière les fichiers. Si vous visitez cette page après avoir visité l'application PHP, cela ne signale pas que la session a expiré.

Ma question est que je suis d'essayer de déterminer ce qui cause ce comportement, d'abord, puis d'examiner les options pour le corriger. Je suis désolé pour le manque de plus de détails techniques - comme mentionné, j'ai seulement un accès limité à l'application du client. Toute aide serait très appréciée, et si plus d'informations sont nécessaires pour aider à résoudre les problèmes, je fournirai volontiers ce que je peux.

Répondre

1

J'ai appelé dans le développeur d'origine pour résoudre ce problème. Il l'a résolu en passant de l'état de session basé sur SQL Server à "En cours". Cela semble en avoir pris soin.

1

J'ai rencontré des problèmes similaires avec les sites ASP classiques s'exécutant sur le même serveur que les sites ASP.NET.

Je suis généralement capable de résoudre le problème en créant 2 pools d'applications sous IIS: un pour les sites ASP et un pour les sites ASP.NET.

Avez-vous accès au gestionnaire IIS du serveur, ou pouvez-vous contacter quelqu'un qui le fait? Si c'est le cas, créez 2 pools d'applications distincts: un pour les sites PHP et un pour les sites ASP.NET. Puis déplacez chaque site dans le pool d'applications approprié. Redémarrez IIS si vous le pouvez, puis vérifiez si quelque chose a changé.

Espérons que cela aide!

Questions connexes