2009-06-16 4 views
2

Est-ce que le même processus s'applique à l'état de session lorsqu'une DLL est placée dans la corbe comme placée dans le GAC?ASP.Net Session Sate, Sharepoint, GAC & Bin déploiement

Ou y a-t-il un type de changement ésotérique qui se produit sous le capot?

J'ai une solution de test déployée dans le répertoire bin de mon site SharePoint qui utilise l'état de session. Je me suis assuré que l'état de la session est configuré dans mon fichier web.config ...

<add name="Session" type="System.Web.SessionState.SessionStateModule" /> 

enableSessionState="true" 

Tout fonctionne bien!

Puis j'ai copié ce projet dans une autre solution qui est déployée dans le GAC et activée sur un autre site SharePoint. Je m'assure d'activer l'état de la session dans le fichier web.config pour ce site SharePoint différent. Je navigue vers ma page qui utilise l'état de session et obtient cette erreur ...

L'état de session ne peut être utilisé que si enableSessionState est défini sur true, dans un fichier de configuration ou dans la directive Page. Assurez-vous également que System.Web.SessionStateModule ou un module d'état de session personnalisé est inclus dans la section \ dans la configuration de l'application.

Marvelous! La seule différence que je peux voir est qu'une solution est déployée dans le dossier Bin et l'autre est déployée dans le GAC.

Certains jours, je déteste Sharepoint. J'ai créé une solution de partage simple avec une page déployée dans le GAC, cette page ajoute une valeur à une variable de session, puis la lit à partir de la variable de session dans un contrôle d'étiquette.

I met la solution à mon test et le site de production, il fonctionne comme prévu dans le site de test, mais produit l'erreur ...

état de session ne peut être utilisée que lorsque enableSessionState est défini sur true, que ce soit dans une configuration fichier ou dans la directive Page. Assurez-vous également que System.Web.SessionStateModule ou un module d'état de session personnalisé est inclus dans la section \ dans la configuration de l'application.

Sur mon site de production, pourquoi, pourquoi, pourquoi?

J'ai vérifié et revérifié mon fichier web.config et mon administrateur central pour m'assurer que l'état de la session est activé. Cela semble maintenant indiquer un problème avec mon application web sharepoint.

Mise à jour sur ce 2: C'est le maître page! Je viens de trouver en commutant la page maître à un choix hors de la boîte permet à mon code de fonctionner correctement - qui utilise des variables de session. J'ai également remarqué que la page maître personnalisée n'aime pas la directive de page 'autoeventwireup = true'. J'ai fait une comparaison de texte entre les deux pages maîtres et je ne vois rien de différent dans le Tagprefix. Je vais continuer à chercher ...

Mise à jour 3 Il est probablement plus facile de fermer cette question et de commencer une nouvelle avec quelques informations supplémentaires.

New question here

+0

Je me demande simplement si vous avez plusieurs WFE en production mais pas en test? –

+0

Exactement, exécutez-vous sessiontate sur plusieurs processus WFE en cours, car cela ne fonctionnera pas je pense. – Colin

+0

Non, il s'agit d'une batterie de serveurs unique - une seule WFE. Je pense que je vais devoir recréer l'application web et importer la collection de sites. – Rob

Répondre

0

Est-il possible il y a quelques contrôles sur le maître OOTB et non pas sur votre propre maître? Peut-être qu'il y a un problème là-bas. De plus, votre maître personnalisé, a-t-il aussi un code-derrière personnalisé?

0

Avez-vous vérifié si "Activer l'état de session" est cochée dans Administration centrale Sharepoint (Application Management)? Cela ne fonctionnera pas à moins que ce soit activé.