tengo el códigoServer.MapPath en MVC3
string xsltPath = System.Web.HttpContext.Current.Server.MapPath(@"App_Data") + "\\" + TransformFileName
Devuelve
C:\inetpub\wwwroot\websiteName\SERVICENAME\App_Data\FileName.xsl
¿Por qué recibo el camino a la ServiceController, SERVICENAME
? Quiero que el camino hacia la App_Data que está en
C:\inetpub\wwwroot\websiteName\App_Data\FileName.xsl
Esto funciona. Estaba leyendo un artículo sobre la "raíz virtual", pero no lo seguí bien. http://www.dotnetperls.com/mappath ¿Se pueden definir rutas "absolutas" y "relativas" y cómo se comparan con las rutas "físicas" y "virtuales"? –
@ P.Brian.Mackey: Absoluto significa la ruta desde la raíz, como "/ someTopDirectory/someSubDirectory". Relativo significa una ruta desde donde se encuentra actualmente, de modo que si se encuentra en "someSubDirectory" y desea acceder a "algúnTopDirectory", una ruta relativa es ".." (suba un directorio). Las rutas físicas son rutas a medida que el sistema las ve: "C: \ inetpub \ myApp \ someTopDirectory \ someSubDirectory". Las rutas virtuales son como las ve una aplicación de servidor web: "/ someTopDirectory/someSubDirectory". –
@ P.Brian.Mackey: para aclarar más en función de su situación, MapPath convierte una ruta virtual en una ruta física. En su parámetro para la ruta virtual, desea proporcionar una ruta absoluta en lugar de una relativa. El marcador para indicar la "raíz" de la ruta absoluta en una aplicación web es "~", por lo que la raíz virtual absoluta = "~ /". –