2009-11-16 17 views
13

Ciao Sto sviluppando un'applicazione web ASP.net. Devo trovare la posizione corrente (fisica) del sito Web (o la directory bin contenente gli assembly).ASP .net posizione fisica corrente

Ho provato a utilizzare Directory.GetCurrentDirectory() e questo mi restituisce la directory temporanea ASP.net.

Io davvero non piace l'idea di includono una impostazione per il percorso assoluto nel mio file di configurazione dell'applicazione (eww!)

Qualsiasi aiuto sarebbe molto apprezzato! :)

Conclusione:

avrei dato qualche contesto sul motivo per cui vorrei che il percorso del file fisico. Grazie ragazzi per la vostra pronta risposta alla domanda :)

Sto usando XSL-FO per .net (la libreria FO.net) per generare un PDF. Incorporare le immagini in FO richiede un percorso assoluto da dare:

<fo:external-graphic src="C:\MyWebsite\images\image1.jpg" /> 

quello che dovevo fare era impostare la directory corrente al sito web (o directory bin), che consentirebbe il renderer XSL FO per sapere dove trova l'immagine.

risposta

33

È necessario System.Web.HttpRuntime.BinDirectory (percorso fisico della cartella bin ) e System.Web.HttpRuntime.AppDomainAppPath (percorso fisico la cartella dell'applicazione ASP.NET di livello superiore).

+0

Grazie Gonzalo, che funziona benissimo nella mia situazione. :) – Russell

+0

Sì, grazie per aver mostrato questi due riferimenti :) – Chau

5

Dipende esattamente da ciò che si vuole fare con il percorso, ma il solito approccio è Server.MapPath(). Ad esempio:

YourControl.src = Server.MapPath("~/images/image1.jpg"); 

Ciò restituirà il percorso fisico per il file specificato.

+1

Ciao Rick, grazie MapPath è un metodo pratico di cui essere consapevole, tuttavia non si adatta perfettamente alla mia situazione. Sto per aggiornare la mia domanda con qualche dettaglio in più sul perché dare qualche contesto, mi dispiace di averlo fatto in primo luogo. Grazie per l'aiuto :) – Russell