如何解析相对于ASP.NET MVC 4应用程序的根目录的路径?也就是说,我想从控制器操作中打开属于应用程序的文件,引用方式如下~/Data/data.html.这些路径通常在中指定Web.config.
编辑:
通过'resolve',我的意思是将相对于应用程序根目录的路径转换为绝对路径,.eg ~/Data/data.html→ C:\App\Data\Data.html.
Nat*_*ins 81
要获得绝对路径,请使用:
String path = HttpContext.Current.Server.MapPath("~/Data/data.html");
Run Code Online (Sandbox Code Playgroud)
编辑:
.Current从上面的行中删除Controller的Context .通过单独使用HttpContext它更容易测试,因为它基于Controller的Context因此更加本地化.
我现在意识到我不喜欢如何Server.MapPath工作(内部最终调用HostingEnvironment.MapPath)所以我现在建议总是使用HostingEnvironment.MapPath因为它的静态而不依赖于上下文,除非你当然想要...
Mic*_*rry 60
当我需要一个控制器之外的路径时,我发现此代码很有用,例如当我在Global.asax.cs中初始化组件时:
HostingEnvironment.MapPath("~/Data/data.html")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95024 次 |
| 最近记录: |