2012-06-19 21 views
69

Cosa devo fare per rendere operativo Server.MapPath?
Ho using System.Web;Impossibile utilizzare Server.MapPath

cos'altro? Quando digito Server non esiste un'opzione di risultato rapido (intelli-sense) per Server.

Qualsiasi aiuto?

+1

È necessario fornire maggiori informazioni. Che tipo di progetto è questo? Perché vuoi eseguire Server.MapPath? Si tratta di un progetto di web-form e stai scrivendo codice in una sottoclasse di pagine o in una funzione di rendering di ASPX? – Dai

+0

C# Winforms .. voglio controllare la disponibilità dei file sul server – a1204773

risposta

206

si può provare a utilizzare questa

System.Web.HttpContext.Current.Server.MapPath(path); 

o utilizzare HostingEnvironment.MapPath

System.Web.Hosting.HostingEnvironment.MapPath(path); 
+1

Non funzionano .. .. Errore 1 Il tipo o il nome dello spazio dei nomi 'HttpContext' non esiste nello spazio dei nomi 'System.Web' (manca un riferimento all'assembly?) ... Errore 2 Il tipo o il nome dello spazio dei nomi 'Hosting' non esiste nel namespace 'System.Web' – a1204773

+0

sembra che tu stia usando winforms, potresti voler vedere questo link allora http://www.debugging.com/bug/18951 – DotNetUser

+5

'HostingEnvironment.MapPath' ha funzionato per me –

13

Il progetto deve fare riferimento all'assieme System.Web.dll. Il server è un oggetto di tipo HttpServerUtility. Esempio:

HttpContext.Current.Server.MapPath(path); 
+3

Non trovo tale riferimento Ho trovato solo questo due: System.Web.ApplicationServices, System.Web.Services .... – a1204773

0

Prova ad aggiungere System.Web come riferimento al progetto.

0

Firt aggiungere un riferimento a System.web, se non si dispone. Fatelo nella cartella Riferimenti.

È quindi possibile utilizzare Hosting.HostingEnvironment.MapPath(path);