Ottenere il corretto host di lavoro sia in locale che in remoto

mercoledì 22 febbraio 2012 - 12.03
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows XP  |  Visual Studio Express  |  MySQL 5.1  |  Firefox

ravalon Profilo | Expert

Salve a tutta la splendida community

oggi vi scrivo per chiedere una conferma (spero)...

Per un mio lavoro devo ottenere il percorso dell'host di lavoro, sia che stia lavorando in locale che in remoto sul server finale perchè poi devo usare questa informazione per costruire un percorso completo verso una immagine che carico sul sito in base a questo dato....

Ho usato l'istruzione "HttpContext.Current.Request.Url.Host" e mi restituisce la stringa "localhost" in quanto sto lavorando in locale e fin qui tutto ok...

Vorrei essere sicuro che in remoto, una volta pubblicato, mi restituisca una cosa tipo "www.nomesito.xx"
.... è cosi ? Oppure mi restituisce una stringa comprendente http ossia "http://www.nomesito.xx" oppure sbaglio totalmente ?

Vi ringrazio del tempo che vorrete concedermi

wave00 Profilo | Junior Member

Ciao,
io posso consigliarti una soluzione molto smart.
Nel tuo file web.config, potrò inserire una nuovo attributo in questo modo
Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

In questo modo potrai referenziare le tue foto in questo modo:
imgFoto.ImageUrl = ConfigurationManager.AppSettings["RootFoto"] + "/foto.jpg";

Come puoi notare sopra, ho commentato uno dei due attributi chiamati "RootFoto"; infatti quando dovrai caricare sul server, ti basterà decommentare il path con l'url e commentare l'altro in questo modo:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Spero di averti aiutato o per lo meno dato un'idea.
Ciao.

ravalon Profilo | Expert

Grazie della soluzione, ci avevo pensato anche io ma volevo fare di più...qualcosa che funzionasse sempre e comunque indipendentemente dall'inserire valori a mano e doverli commentare / decommentare...

Come l'ho impostato io se siamo in locale su localhost lo capisce da se, lo stesso dovrebbe fare in remoto ma ho il dubbio se il valore estratto dal mio codice sia "miosito.xxx" oppure come mi aspetto "www.miosito.xxx".

wave00 Profilo | Junior Member

>Grazie della soluzione, ci avevo pensato anche io ma volevo fare
>di più...qualcosa che funzionasse sempre e comunque indipendentemente
>dall'inserire valori a mano e doverli commentare / decommentare...
Potresti a questo punto crearti due file di configurazione.

>Come l'ho impostato io se siamo in locale su localhost lo capisce
>da se, lo stesso dovrebbe fare in remoto ma ho il dubbio se il
>valore estratto dal mio codice sia "miosito.xxx" oppure come
>mi aspetto "www.miosito.xxx".
Non ho capito cosa intendi

ravalon Profilo | Expert

Intendo dire...

se mi faccio restituire il risultato di HttpContext.Current.Request.Url.Host sul server remoto, ottengo una stringa tipo "miosito.xxx" oppure "www.miosito.xxx" ?

Sul mio non me lo fa vedere finchè non gli carico tutti i files di configurazione per cui non riesco a fare un test di persona...

Comunque ho appena letto su un post di un forum che dovrebbe restituire proprio quello che voglio io e cioè "www.miosito.xxx"

wave00 Profilo | Junior Member

Fai una cosa semplicissima. Creati una label e vedi cosa torna HttpContext.Current.Request.Url.Host no?

ravalon Profilo | Expert

Mi sa che hai risposto senza leggere il mio ultimo messaggio... ho scritto che questo semplice test non me lo fa fare in remoto...
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5