Domanda

Ho bisogno di usare Server.MapPath() per combinare qualche percorso file che devo conservare nel web.config.

Tuttavia, dal momento che si basa sulla Server.MapPath() HttpContext corrente (credo), non sono in grado di fare questo. Quando si tenta di utilizzare il metodo, anche se il suo "disponibile", ottengo la seguente eccezione:

  

L'operazione del server non è disponibile in questo contesto.

C'è un altro metodo che può mappare una directory relativa radice web come ~/App_Data/ al percorso fisico completo come C:\inetpub\wwwroot\project\App_data\?

È stato utile?

Soluzione

Si potrebbe provare a System.Web.Hosting .HostingEnvironment.MapPath () .

Non HttpContext richiesto.

Altri suggerimenti

Usa AppDomain.CurrentDomain.BaseDirectory perché Context potrebbe restituire null !!

Quando nel Global.asax, utilizzare il di contesto Oggetto:

context.Server.mappath ()

Context consente di accedere anche la raccolta della sessione, l'oggetto di richiesta, l'oggetto risposta. Molto utile quando si desidera registrare errori, ad esempio

Si potrebbe provare HttpContext.Current.Server.MapPath ( "/") -. Ecco come ho fatto riferimento prima nelle classi

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top