web-dev-qa-db-fra.com

System.Web.HttpContext non reconnu

J'ai un ASP.NET avec une application web C #. L'une des classes que j'ai créées doit utiliser HttpContext.

Selon http://msdn.Microsoft.com/en-us/library/system.web.httpcontext (v = vs.90) .aspx , HttpContext existe dans l'espace de noms System.Web dans. NET 3.5 (qui est la version que j'ai installée).

Cependant, lorsque j'écris HttpContext. -> Je ne vois pas la saisie semi-automatique. C'est ce qui me dit que HttpContext n'est pas reconnu.

J'ai fait mes devoirs et recherché les solutions habituelles: 1. J'ai ajouté la référence System.Web (en cliquant avec le bouton droit sur Références -> en choisissant l'onglet .NET et la référence particulière). 2. J'ai également veillé à inclure cette ligne dans la classe: using System.Web;

Veuillez me dire ce que je peux faire d'autre. Si tout se passe bien, quand j'écris HttpContext. - Je suis censé voir une liste déroulante et pouvoir choisir "Actuel" à partir de là parmi plusieurs attributs/éléments. Je suis nouveau avec C # et Visual Studio (2008) mais je pense que la saisie semi-automatique ne fonctionne pas bien est un bon indicateur d'un manque de référence/espace de noms/erreurs de chargement/quoi que ce soit d'autre.

30
Anna T

Le constructeur est rarement utilisé lorsque vous souhaitez instancier la classe HttpContext. J'utilise toujours la propriété statique HttpContext.Current qui est l'instance actuelle utilisée par toutes les applications ASP.Net.

Pour l'utiliser, assurez-vous que vous ajoutez déjà une référence à l'assembly System.Web.dll et importez l'espace de noms System.Web

39
CodeNotFound

C'était un cas simple de ne pas utiliser le bon cadre, j'entends par là la version complète plutôt que la version par défaut "légère".

Cliquez avec le bouton droit sur le projet, puis sur Propriétés et assurez-vous que la version complète du dernier framework est sélectionnée, c'est-à-dire '.NET Framework 4', pas '.NET Framework 4 Client Profile'

5
userSteve
  1. Assurez-vous que l'assemblage est inclus
  2. Assurez-vous que la référence de la DLL est là
  3. Essayez de "résoudre" et demandez à Visual Studio d'inclure la référence
  4. Déboguez, fermez et redémarrez l'application.

Cette classe devrait fonctionner.

MISE À JOUR:

using System.Web

class YourClass {
  public YourClass() {
    HttpContext _context = new HttpContext(your parameters)
  }
}
3
iefpw

L'ajout d'une référence à "using Org.Apache.Http.Protocol;" l'a résolu pour moi.

0
Buttman