首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获取ASP.NET服务器应用程序的根目录?

问如何获取ASP.NET服务器应用程序的根目录?
EN

Stack Overflow用户
提问于 2013-07-17 01:08:20
回答 4查看 97.1K关注 0票数 52

在我的ASP.NET应用程序的启动代码中(即没有请求),我需要获取应用程序根目录的路径。我需要它来打开我在根目录之外的文件夹中的文件。

我怎么才能得到这个呢?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-17 01:12:38

代码语言:javascript
复制
Server.MapPath("~"); 

将获得当前应用程序的根目录,作为磁盘上的路径。例如,C:\inetpub\...

请注意,在ASP.NET控件中,~字符也可以用作web路径的一部分,它将填充应用程序的URL。

如果您的类没有Server属性,则可以使用static

代码语言:javascript
复制
HttpContext.Current.Server.MapPath("~")
票数 85
EN

Stack Overflow用户

发布于 2013-07-17 01:13:03

如果您没有可用的HttpContext,则HttpRuntime.AppDomainAppPath非常有用。

例如,一个低级库方法来获取相对于当前应用程序的路径,无论它是不是web应用程序,它都必须工作:

代码语言:javascript
复制
private static string GetDataFilePath() => HttpRuntime.AppDomainAppVirtualPath != null ?
    Path.Combine(HttpRuntime.AppDomainAppPath, "App_Data") :
    Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
票数 43
EN

Stack Overflow用户

发布于 2017-08-24 17:02:43

另一种可能性是AppDomain.CurrentDomain.BaseDirectory

一些额外的方式:Different ways of getting Path

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

https://stackoverflow.com/questions/17682843

复制
相关文章

相似问题

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