2010-01-11 2 views

Répondre

7

Pour autant que je peux comprendre, vous cherchez

using System.Web; 

// ... 


var currentSession = HttpContext.Current.Session; 
var myValue = currentSession["myKey"]; 
+0

HttpContext de mr.herzmeister désolé ne reçoit pas. Je dis dans les classes je pense que vous obtenez mon point. j'utilise le nom sapce même s'il ne vient pas –

+0

il arrive dans la page aspx que je veux dans les classes –

+0

Voulez-vous dire que votre classe ne fait pas partie du site? Est-ce un projet de bibliothèque? Ensuite, vous devez ajouter une référence à l'assembly System.Web. Sans cela, l'espace de noms avec le même nom est également présent mais seulement avec très peu de types. – herzmeister

0

Ce que vous obtenez de la collection est une référence à un objet, vous devez jeter la référence à votre classe spécifique pour obtenir une référence vous pouvez utiliser pour accéder aux membres de votre classe:

((MyClass)Session["TheKey"]). ... 

Si le problème est que vous ne pouvez pas accéder à l'objet de la session du tout, vous avez besoin d'une référence au contexte actuel. Vous obtenez qu'en utilisant la propriété statique HttpContext.Current:

HttpContext.Current.Session["TheKey"] 

Pour avoir accès à la classe HttpContext, vous devez dire au compilateur où il est:

using System.Web; 

Vous pouvez également spécifier l'espace de nom complet directement, sans directive using:

System.Web.HttpContext.Current.Session["TheKey"] 

Vous devez également ajouter une référence à la bibliothèque System.Web.dll dans votre projet.

+0

M. Guffa pourrait vous s'il vous plaît dites-moi en détails merci de votre réponse. j'accède à partir de la bibliothèque externe de classe –

0

Dans votre projet de bibliothèque de classes, ajouter une référence à System.Web

Ensuite, utilisez Session comme dans les exemples avant.

Il n'est pas nécessaire d'être une application ASP.NET, ce que fera une bibliothèque de classes.

J'ai vu cela utilisé même dans les applications WinForms, car il fonctionne toujours.

+0

ya Mr.Leon j'ajoute la référence system.web je reçois seulement HttpContext mais je ne reçois pas "Current.Session" je vous remercie pour la référence –

1

Utilisez cette System.Web.HttpContext.Current.Session["Key"];

Questions connexes