Erreur à l'aide de session dans IIS 7
Après le déploiement de mon site web IIS, j'obtiens le message d'erreur suivant lorsque vous essayez d'accéder à une session:
État de Session ne peut être utilisé lors de la
enableSessionState est définie sur true,
dans un fichier de configuration ou dans
la directive de Page. Veuillez également vous
assurez-vous que
Système.Web.SessionStateModule ou un
séance personnalisée de l'état du module
inclus dans le
\\
section dans l'application
la configuration.
- Je y avoir accès dans Page_Load
ou PreRender
événements (j'ai essayé les deux versions). Avec Visual Studio de Dev Serveur, il fonctionne sans problème. J'ai essayé les deux InProc
un SessionState
de stockage, 1 et plusieurs processus de travail. J'ai ajouté un enableSessionState = "true"
à ma page explicitement.
Voici une partie de web.config
:
<system.web>
<globalization culture="ru-RU" uiCulture="ru-RU" />
<compilation debug="true" defaultLanguage="c#">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Web.Extensions.Design, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</assemblies>
</compilation>
<pages enableEventValidation="false" enableSessionState="true">
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</controls>
</pages>
<httpHandlers>
<remove verb="*" path="*.asmx" />
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false" />
</httpHandlers>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add name="SearchUrlRewriter" type="Synonymizer.SearchUrlRewriter, Synonymizer, Version=1.0.0.0, Culture=neutral" />
<add name="Session" type="System.Web.SessionStateModule" />
</httpModules>
<sessionState cookieless="UseCookies" cookieName="My_SessionId" mode="InProc" stateNetworkTimeout="5" />
<customErrors mode="Off" />
</system.web>
Quoi d'autre dois-je faire pour le faire fonctionner?
J'ai essayé de surveiller si IIS accède à la aspnet_client
dossier avec Le Moniteur De Processus et de ne pas obtenir l'accès.
OriginalL'auteur flashnik | 2010-05-03
Vous devez vous connecter pour publier un commentaire.
La solution qui est arrivé à être très curieux. Si IIS7 jn WIndows 2008R2 dans la description de l'erreur dit d'ajouter SessionStateModule à système.web section, il doit être ajouté à système.serveur section.
Cet exemple a fixé mon problème, mais je ne comprends pas pourquoi devrais-je ajouter .net version 2.0 du module? Ma demande est de créer sur le .NET 4
OriginalL'auteur flashnik
Sessions de travailler sur une plaine, une application vide. C'est, de toutes les valeurs par défaut devrait fonctionner.
Si cela ne fonctionne pas avec une base de test d'applications, IIS ont pu confondre avec votre application.
Essayer de supprimer votre application IIS. Ensuite, créer un nouveau répertoire virtuel, redémarrer IIS, puis ajouter de nouveau votre demande.
Aussi, vérifiez votre application ASP.Net les paramètres. Assurez-vous qu'il est réglé à la bonne version de ASP.Net.
Lors de la recherche, j'ai aussi croisé...
http://ramonaeid.spaces.live.com/blog/cns!A77704F1DB999BB0!181.entrée
Espère que ça aide.
OriginalL'auteur kervin
Assurez-vous que le service de noms "ASP.NET Service d'État" est en cours d'exécution, puis l'ajouter à votre site web.config.
Référence:
http://msdn.microsoft.com/en-us/library/ms972429.aspx
http://msdn.microsoft.com/en-us/library/h6bb9cz9(SV.71).aspx
Commentaire:
Peut-être le mieux le changement manuel du port à autre chose. Cela peut être fait avec regedit.
HKLM\R\CurrentControlSet\Services\aspnet_state\Paramètres\Port -> 42424
Certains plus d'infos:
http://msdn.microsoft.com/en-us/library/ff648667.aspx
OriginalL'auteur Aristos
A ce serveur en particulier été utilisé pour autre chose? Est-ce un Windows 2008 server et IIS7?
Je suis prêt à parier qu'il vous manque certains rôles de serveur pour IIS, avez-vous vérifié ceux par clic-droit sur "Ordinateur", choisir "Gérer", en allant à la gestion des rôles (il est sur l'arbre primaire dans gestion de l'ordinateur) et la vérification de l'installation de bits pour IIS?
Si c'est IIS6, alors vous pourriez avoir d'autres préoccupations. Mais je me dis que nous allons commencer avec quelque chose de simple, de voir si nous ne pouvons pas vous aider celui-ci.
OriginalL'auteur jcolebrand
Qu'est-ce que votre structure de dossier. Avez-vous des web configs au dossier supérieur qui peut avoir explicitement désactivé?
Si possible, le réinscrire asp.net
ref: Comment s'inscrire ASP.NET 2.0 au web server(IIS 7)?
OriginalL'auteur Raj Kaimal
Essayer d'ajouter dans la section des pages web.config de l'article suivant:
OriginalL'auteur Thea