2012-05-15 16 views
25

Possiedo un ASP.NET con applicazione Web C#. Una delle classi che ho creato deve usare HttpContext.System.Web.HttpContext non riconosciuto

Secondo http://msdn.microsoft.com/en-us/library/system.web.httpcontext(v=vs.90).aspx, HttpContext esiste nello spazio dei nomi System.Web in .NET 3.5 (che è la versione che ho installato).

Tuttavia, quando scrivo HttpContext. -> Non vedo il completamento automatico. Questo è ciò che mi dice che HttpContext non è riconosciuto.

Ho fatto i compiti e ho cercato le solite soluzioni: 1. Ho aggiunto il riferimento System.Web (facendo clic con il tasto destro su Riferimenti -> scegliendo la scheda .NET e il riferimento particolare). 2. Mi sono anche assicurato di includere questa riga nella classe: using System.Web;

Per favore dimmi cos'altro posso fare. Se tutto va bene, quando scrivo HttpContext. - Dovrei vedere un elenco a discesa ed essere in grado di scegliere "Corrente" da lì tra diversi attributi/elementi. Sono nuovo con C# e Visual Studio (2008) ma penso che il completamento automatico non funzioni bene è un buon indicatore di mancanza di riferimenti/spazio dei nomi/errori di caricamento/qualsiasi altra cosa.

+0

Solo una breve domanda - dove stai cercando di usare HttpContext? È dietro il codice? File ASPX? Un'altra classe? – Katalonis

+0

Hai usato correttamente? System.Web, penso? –

+0

Andrew: Sto usando System.Web. Katalonis, sto cercando di usare HttpContext all'interno di una classe (un file .CS aggiunto alla cartella App_Code). [...] utilizzando Sistema.Web; Utilità pubblici statici class { Utilities statici() { } pubblico LogError static void (Exception ex) { System.Web.HttpContext context = System.Web.HttpContext.Current; ..... Ecco come inizia la lezione, se aiuta! Grazie! –

risposta

35

Il costruttore è usato raramente quando si desidera creare un'istanza della classe HttpContext . Io uso sempre la proprietà statica HttpContext.Current che è l'istanza corrente utilizzata da tutte le applicazioni ASP.Net.

per il suo utilizzo assicurarsi che si aggiunge già riferimento all'assembly System.Web.dll e importare il System.Web namespace

+3

Sto usando vs 2015 con dotNet 4.5 e questo NON funziona. System.Web non ha alcuna classe HttpContext. –

+0

... a meno che non si installi il pacchetto NuGet "Microsoft.AspNet.WebApi" –

+0

questo non funziona @JohnHenckel – PinoyDev

2
  1. Assicurarsi che il gruppo è incluso
  2. Assicurarsi che il riferimento per la dll c'è
  3. Prova "volontà" e hanno il Visual Studio includere il riferimento
  4. Debug, chiudere e riavviare l'applicazione.

Questa classe dovrebbe funzionare.

UPDATE:

using System.Web 

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

Ciao jefpw, grazie per aver risposto! Potresti per favore elaborare un po 'sulla tua risposta? Come ho detto, sono nuovo. 1. Come includo l'assemblaggio, forse l'ho già fatto, non sono sicuro di cosa intendi? 2. Come per includere il riferimento, l'ho fatto come descritto sopra (facendo clic con il tasto destro su Riferimenti -> scegliendo la scheda .NET e il particolare riferimento System.Web). 3. Cosa vuoi dire provando a "risolvere"? Molte grazie! –

+0

Vedi sopra. HttpContext è una classe piuttosto avanzata se sei un principiante. Perché hai bisogno di HttpContext. Non ho usato HttpContext in ASP.NET e ho usato ASP.NET per 4-5 anni. – iefpw

+0

iefpw: Ciò di cui ho bisogno HttpContext per - da quanto ho capito, HttpContext.Current.Request.Rawest visualizza l'URL della pagina corrente (breve forma di esso) e visualizzerò tali informazioni su una pagina di errore appositamente personalizzata. Questo è solo il mio secondo sito web. Usando tutte le risorse, i trucchi e i consigli che posso trovare online. Wow, 4 anni di lavoro sul campo. Complimenti! –

5

E 'stato un semplice caso di non usare il giusto quadro, con questo intendo la versione piena di grassi piuttosto che la versione predefinita "leggera".

Fare clic destro sul progetto e poi su Proprietà e assicurarsi che la versione completa della più recente quadro è selezionato cioe '.NET Framework 4' , non' .NET Framework 4 Client Profile'

+1

SUGGERIMENTO: per il 2015, assicurarsi di installare il pacchetto NuGet "Microsoft.AspNet.WebApi" nel progetto. L'installazione di "Microsoft.AspNet.WebApi.Core" NON è sufficiente. –

Problemi correlati