有什么区别Server.MapPath()和HostingEnvironment.MapPath()?是否Server.MapPath()有任何优势了HostingEnvironment.MapPath()?
我原来的问题是当服务器上的文件路径HttpContext不存在时映射,我无法将Server变量传递Global.asax给我的方法.
我用HostingEnvironment.MapPath()它代替,因为它不需要HttpContext.有这两种方法会产生不同结果的情况吗?
我的ASP .NET解决方案中有三个项目:
我的Web应用程序中有一个带有XML文件的文件夹.需要使用此XML文件填充类库函数的XMLreader.我添加了这个:
var reader = XmlReader.Create(HttpContext.Current.Server.MapPath("~/TestDevice/Data.xml"), settings);
Run Code Online (Sandbox Code Playgroud)
当从我们的应用程序调用此函数时,它工作.当从Windows应用程序调用类库的这个函数时,我在HttpContext.Current.Server获得空引用,因为它在Windows应用程序中不可用.虽然适用于Windows和Web应用程序,但我不想提供硬编码路径.我可以使用一些不起作用来访问来自不同项目或任何替代server.mappath的文件.请建议解决方案
谢谢