首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ASP.NET的外部C#类中使用Server.MapPath

在ASP.NET的外部C#类中使用Server.MapPath
EN

Stack Overflow用户
提问于 2009-07-27 19:39:32
回答 7查看 245.6K关注 0票数 137

我正在尝试获取C#类中某些文件的绝对路径。当然,Server.MapPath对ASPX和它们的代码隐藏页面工作得很好,但这在其他类文件中是不存在的。我尝试过HostingEnvironment.MapPath(),但它抱怨相对虚拟路径是不允许的。有什么想法吗?

System.Web已导入。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2009-07-27 19:41:15

ServerUtility类可以作为HttpContext中的一个实例使用。如果您所在的环境中知道它将在ASP.Net管道内执行,则可以使用

代码语言:javascript
复制
HttpContext.Current.Server.MapPath()

不过,您必须导入System.Web

票数 312
EN

Stack Overflow用户

发布于 2014-03-02 22:47:56

您还可以使用:

代码语言:javascript
复制
var path = System.Web.Hosting.HostingEnvironment.MapPath("~/App_Data/myfile.txt")

如果

代码语言:javascript
复制
var path = Server.MapPath("~/App_Data");
var fullpath = Path.Combine(path , "myfile.txt");

是无法访问的

票数 34
EN

Stack Overflow用户

发布于 2009-07-27 19:45:56

代码语言:javascript
复制
System.Reflection.Assembly.GetAssembly(type).Location

如果您尝试获取的文件是某个类型的程序集位置。但是,如果这些文件是相对于程序集位置的,那么您可以将此名称空间与System.IO命名空间一起使用,以获取文件的确切路径。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1190196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档