2012-05-15 42 views
25

Tengo una aplicación web ASP.NET con C#. Una de las clases que creé necesita usar HttpContext.System.Web.HttpContext no reconocido

Según http://msdn.microsoft.com/en-us/library/system.web.httpcontext(v=vs.90).aspx, HttpContext existe en el espacio de nombres System.Web en .NET 3.5 (que es la versión que tengo instalada).

Sin embargo, cuando escribo HttpContext. -> No veo autocompletar. Que es lo que me dice que HttpContext no es reconocido.

Hice mi tarea y busqué las soluciones habituales: 1. Agregué la referencia de System.Web (haciendo clic derecho en References -> eligiendo la pestaña .NET y la referencia particular). 2. También me aseguré de incluir esta línea en la clase: usando System.Web;

Por favor, dime qué más puedo hacer. Si todo va bien, cuando escribo HttpContext. - Se supone que debo ver una lista desplegable y poder elegir "Actual" desde allí entre varios atributos/elementos. Soy nuevo con C# y Visual Studio (2008) pero creo que Autocompletar no funciona bien es un buen indicador de una falta de referencia/espacio de nombres/errores de carga/lo que sea.

+0

Sólo una pregunta rápida - ¿Dónde intentas usar HttpContext? ¿Está el código detrás? Archivo ASPX? ¿Otra clase? – Katalonis

+0

¿Tiene el uso correcto? System.Web, creo? –

+0

Andrew: Estoy usando System.Web. Katalonis, estoy tratando de usar HttpContext dentro de una CLASE (un archivo .CS agregado a la carpeta App_Code). [...] usando Sistema.Web; Servicios Públicos estáticos de la clase { Utilidades estáticos() { } pública LogError static void (Exception ex) { System.Web.HttpContext contexto = System.Web.HttpContext.Current; ..... ¡Así es como comienza la clase, si ayuda! ¡Gracias! –

Respuesta

35

El constructor se usa raramente cuando se desea crear una instancia de la clase HttpContext. Siempre utilizo la propiedad estática HttpContext.Current que es la instancia actual utilizada por todas las aplicaciones ASP.Net.

Para usarlo asegúrese de que ya agrega referencia al ensamblado System.Web.dll e importar el espacio de nombres System.Web

+3

Estoy usando vs 2015 con dotNet 4.5 y esto NO funciona. System.Web no tiene ninguna clase HttpContext. –

+0

... a menos que instale el paquete NuGet "Microsoft.AspNet.WebApi" –

+0

esto no funciona ni en @JohnHenckel – PinoyDev

2
  1. Asegúrese de que el montaje está incluido
  2. Asegúrese de que la referencia a la DLL está allí
  3. Try "determinación" y tienen el Visual Studio incluir la referencia
  4. depuración, cierre y reinicie la aplicación.

Esta clase debería funcionar.

ACTUALIZACIÓN:

using System.Web 

class YourClass { 
    public YourClass() { 
    HttpContext _context = new HttpContext(your parameters) 
    } 
} 
+0

Hola jefpw, gracias por responder! ¿Podría explicar un poco sobre su respuesta? Como dije, soy nuevo. 1. ¿Cómo incluyo el ensamblaje, quizás ya lo hice, no estoy seguro de lo que quieres decir? 2. En cuanto a incluir la referencia, lo hice como se describe arriba (haciendo clic derecho en Referencias -> seleccionando la pestaña .NET y la referencia particular de System.Web). 3. ¿Qué quieres decir con intentar "resolver"? ¡Muchas gracias! –

+0

Ver arriba. HttpContext es una clase bastante avanzada si eres un principiante. ¿Por qué necesitas HttpContext? No he usado HttpContext en ASP.NET y he usado ASP.NET durante 4-5 años. – iefpw

+0

iefpw: Para qué necesito HttpContext - por lo que entiendo, HttpContext.Current.Request.RawUrl muestra la URL de la página actual (abreviatura de la misma) y mostraré esa información en una página de error especialmente personalizada. Este es solo mi segundo sitio web. Utilizo todos los recursos, trucos y consejos que puedo encontrar en línea. Guau, 4 años trabajando en el campo. ¡Felicitaciones! –

5

Era un simple caso de no utilizar el marco adecuado, con esto quiero decir la versión completa de grasa en lugar de la versión 'ligera' predeterminada.

Haga clic derecho sobre el proyecto y luego en Propiedades y asegúrese de que la versión completa del último marco se selecciona es decir, 'Framework 4' , no ' .NET Framework 4 Client Profile'

+1

CONSEJO: para vs 2015, asegúrese de instalar el paquete NuGet "Microsoft.AspNet.WebApi" en su proyecto. Instalar el "Microsoft.AspNet.WebApi.Core" NO es suficiente. –

Cuestiones relacionadas