博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
再见了Server对象,拥抱IHostingEnvironment服务对象(.net core)
阅读量:6237 次
发布时间:2019-06-22

本文共 1465 字,大约阅读时间需要 4 分钟。

一、绝对路径

1、获取应用程序运行当前目录Directory.GetCurrentDirectory()。

System.IO命名空间中存在Directory类,提供了获取应用程序运行当前目录的静态方法GetCurrentDirectory,

但根据.net core的设计,此方法不是真正的获取应用程序的当前方法,而是执行dotnet命令所在目录,

var path =  Directory.GetCurrentDirectory()

执行结果:

E:\project\24-dingding-saas\Code\DBen.Ding.SaaS.WebMobile

要获取应用程序运行当前目录,只能通过变通的方案解决。

如:1、在应用程序的目录执行dotnet命令,

  2、或者通过其他方案。

如下代码是一种可以获取应用程序的当前目录:

dynamic type = (new Program()).GetType(); string currentDirectory = Path.GetDirectoryName(type.Assembly.Location); Console.WriteLine(currentDirectory);

执行结果:

E:\project\24-dingding-saas\Code\DBen.Ding.SaaS.WebMobile\bin\Debug\netcoreapp2.0\DBen.Ding.SaaS.WebMobile.dll

二、相对路径

从ASP.NET Core RC2开始,可以通过注入 IHostingEnvironment 服务对象来取得Web根目录和内容根目录的物理路径,如下所示:

using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Mvc;namespace AspNetCorePathMapping{    public class HomeController : Controller    {        private readonly IHostingEnvironment _hostingEnvironment;        public HomeController(IHostingEnvironment hostingEnvironment)        {            _hostingEnvironment = hostingEnvironment;        }        public ActionResult Index()        {            string webRootPath = _hostingEnvironment.WebRootPath;            string contentRootPath = _hostingEnvironment.ContentRootPath;            return Content(webRootPath + "\n" + contentRootPath);        }    }}

执行结果:

/Code/DBen.Ding.SaaS.WebMobile/wwwroot/Code/DBen.Ding.SaaS.WebMobile

转载于:https://www.cnblogs.com/ZaraNet/p/9949496.html

你可能感兴趣的文章
前端加解密
查看>>
Android Studio查看Android源代码失败
查看>>
Event loop (JavaScript中的执行机制)
查看>>
谈谈对Spring IOC的理解
查看>>
axios源码分析——取消请求
查看>>
java基础(三):谈谈java异常的处理
查看>>
React 零基础入坑
查看>>
使用code-printer生成一份炫酷的简历
查看>>
SQL 中的一些小巧但常用的关键字
查看>>
从实际案例中探讨io中的延迟性能的作用
查看>>
iOS开发 • 实例——Hey, 定时器!
查看>>
nodejs+express+mongodb+react+layui完整的小说阅读系统--悦读
查看>>
机器学习A-Z~支持向量机
查看>>
centos系统大量time wait占用的解决
查看>>
vue源码分析系列之响应式数据(三)
查看>>
Nginx服务系列——负载均衡
查看>>
力扣(LeetCode)21
查看>>
flac格式歌曲如何转换成mp3格式,flac转mp3详细图文教程
查看>>
微服务应用新趋势:Service Mesh、AIOps和中台化
查看>>
执行计划小总结
查看>>