第二十九节: Asp.Net Core零散总结(各种目录内外网ip)[不断补充]
Posted lonelyxmas
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二十九节: Asp.Net Core零散总结(各种目录内外网ip)[不断补充]相关的知识,希望对你有一定的参考价值。
原文:第二十九节: Asp.Net Core零散总结(各种目录、内外网ip)[不断补充]
1. IWebHostEnvironment获取常用属性
(1).获取项目的根目录
_env.ContentRootPath 等价于 Directory.GetCurrentDirectory()
(2).获取项目下wwwroot目录
_env.WebRootPath
(3).获取项目最终dll的目录(拼接)
_env.ContentRootPath + @"inDebug etcoreapp3.1"
(4).获取项目名称
_env.ApplicationName
(5).获取运行环境
_env.EnvironmentName
代码分享:
1 private IWebHostEnvironment _env; 2 3 public FirstController(IWebHostEnvironment env) 4 { 5 this._env = env; 6 } 7 8 public IActionResult Index() 9 { 10 //1. 获取各种地址 11 { 12 //项目的绝对目录 13 var d1 = _env.ContentRootPath; 14 var d2 = Directory.GetCurrentDirectory(); 15 //项目的WebRoot目录 16 var d3 = _env.WebRootPath; 17 //最终dll文件的目录,拼接 18 var d4 = _env.ContentRootPath + @"inDebug etcoreapp3.1"; 19 //项目名称 20 var d5 = _env.ApplicationName; 21 //项目运行环境 22 var d6 = _env.EnvironmentName; 23 24 ViewBag.d1 = d1; 25 ViewBag.d2 = d2; 26 ViewBag.d3 = d3; 27 ViewBag.d4 = d4; 28 ViewBag.d5 = d5; 29 ViewBag.d6 = d6; 30 } 31 return View(); 32 }
运行效果:
2. 获取内外网ip地址和端口
(1).获取请求的外网ip和端口:this.HttpContext.Connection.RemoteIpAddress; 和 this.HttpContext.Connection.RemotePort;
(2).获取本地内网ip和端口: this.HttpContext.Connection.LocalIpAddress; 和 this.HttpContext.Connection.LocalPort;
代码分享:
1 var p1 = this.HttpContext.Request.Method; 2 //外网ip,必须部署在外网服务器上. Server-client如果在一个内网中,获取的还是内网地址 3 var p2 = this.HttpContext.Connection.RemoteIpAddress; 4 var p3 = this.HttpContext.Connection.RemotePort; 5 6 //获取本地ip地址和端口,即项目部署在哪,获取的就是哪的。 7 var p4 = this.HttpContext.Connection.LocalIpAddress; 8 var p5 = this.HttpContext.Connection.LocalPort;
以上是关于第二十九节: Asp.Net Core零散总结(各种目录内外网ip)[不断补充]的主要内容,如果未能解决你的问题,请参考以下文章