- Home
- Categorie
- Coding e Sistemistica
- Altri linguaggi per il web
- Problema importazione sito web
-
Problema importazione sito web
Salve a tutti, avrei bisogno di un aiuto per un progetto di un sito web che devo modificare.
In visual studio la compilazione va a buon fine e mi apre il browser con il sito. Purtroppo però quando cerco di effettuare il login (il sito ha un'area di amministrazione a cui si accede con user e password) ricevo questo errore:InvalidOperationException
Impossibile mappare il percorso....La riga che genera l'errore è di questo tipo:
Dim percorsoFile As String = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSetting("...") & "/...../....xml")
Il file xml ovviamente c'è sul disco ma, evidentemente, non riesce a risolvere correttamente il percorso. Sono nuovo di asp.net e visual studio...
Qualcuno può darmi qualche dritta su come risolvere questo tipo di problema?
Scaricare tutti i file da FTP del sito web per poi aprirlo su visual studio mi ha dato questo problema...
-
Ciao SAKO, **Server.MapPath **ricostruisce il percorso fisico a partire da un percorso relativo o virtuale.
Ammettendo che il file xml si trovi nel percorso Root/App_Data/ puoi specificare il percorso virtuale in questo modo: ~/App_Data/file.xml.
Oppure quello relativo potrebbe essere, se l'istruzione si trova in una pagina della sotto-cartella Root/Folder/SubFolder/, ../../App_Data/file.xml.Controlla quindi qual'è il percorso che costruisci ad esempio in questo modo:
Dim path As String = ConfigurationManager.AppSetting("...") & "/...../....[xml](http://www.giorgiotave.it/wikigt/os/XML)"
Metti un BreackPoint, avanza con F10 e controlla il contenuto di path.
-
Grazie per la risposta. Ecco cosa penso di aver scoperto:
La riga di codice completa è questaDim percorsoFile As String = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSetting("xml_dati_path") & "/credenziali/logIn.xml")
Ho fatto come mia hai suggerito, quindi
Dim path As String = ConfigurationManager.AppSetting("xml_dati_path")
e dalla finestra di debug vedo che path a valore nothing....
Se scrivo la stringa completa
Dim path As String = ConfigurationManager.AppSetting("xml_dati_path") & "/credenziali/logIn.xml")
path prende il valore /credenziali/logIn.xml
Ho provato anche ad aggiungere
Debug.Write(xml_dati_path)
ma ricevo un errore in compilazione...dice che xml_dati_path non è dichiarato/ non è accessibile a causa del livello di protezione.
-
xml_dati_path è un parametro applicativo creato da chi ha realizzato il sito in prima istanza.
Scaricando il sito da FTP dovresti aver recuperato anche il file web.config, che è a tutti gli effetti un file xml, in questo file ci deve essere una sezione (nodo) AppSetting.
Se non ci fosse devi crearlo dentro il nodo Configuration.Qui dovrebbe trovarsi il parametro di cui sopra, se non c'è devi aggiungerlo con il valore che va a completare il path "/credenziali/logIn.xml"
Più o meno così:
<appSettings> <add key="xml_dati_path" value="~/App_Data"/> </appSettings>
-
Ti ringrazio veramente tanto! Ho seguito le tue indicazioni e adesso funziona come dovrebbe! web.config era nella cartella del sito, poi ho aggiunto tutto a mano. Chi ha fatto il sito ha dovuto dichiarare il parametro anche lui come mi hai indicato te, in quel file? Non capisco perché non era dichiarata...mi ero messo a cercare dove potesse essere definita quella variabile ma non l'ho trovata da nessuna parte....
Ciao e grazie ancora!
-
Figurati
Buon lavoro