1. IWebHostEnvironment获取常用属性

(1).获取项目的根目录

  _env.ContentRootPath 等价于 Directory.GetCurrentDirectory()

(2).获取项目下wwwroot目录

   _env.WebRootPath

(3).获取项目最终dll的目录(拼接)

   _env.ContentRootPath + @"\bin\Debug\netcoreapp3.1\"

(4).获取项目名称

  _env.ApplicationName

(5).获取运行环境

  _env.EnvironmentName

代码分享:

      private IWebHostEnvironment _env;

         public FirstController(IWebHostEnvironment env)
{
this._env = env;
} public IActionResult Index()
{
//1. 获取各种地址
{
//项目的绝对目录
var d1 = _env.ContentRootPath;
var d2 = Directory.GetCurrentDirectory();
//项目的WebRoot目录
var d3 = _env.WebRootPath;
//最终dll文件的目录,拼接
var d4 = _env.ContentRootPath + @"\bin\Debug\netcoreapp3.1\";
//项目名称
var d5 = _env.ApplicationName;
//项目运行环境
var d6 = _env.EnvironmentName; ViewBag.d1 = d1;
ViewBag.d2 = d2;
ViewBag.d3 = d3;
ViewBag.d4 = d4;
ViewBag.d5 = d5;
ViewBag.d6 = d6;
}
return View();
}

运行效果:

2. 获取内外网ip地址和端口

(1).获取请求的外网ip和端口:this.HttpContext.Connection.RemoteIpAddress; 和 this.HttpContext.Connection.RemotePort;

(2).获取本地内网ip和端口: this.HttpContext.Connection.LocalIpAddress; 和 this.HttpContext.Connection.LocalPort;

代码分享:

                 var p1 = this.HttpContext.Request.Method;
//外网ip,必须部署在外网服务器上. Server-client如果在一个内网中,获取的还是内网地址
var p2 = this.HttpContext.Connection.RemoteIpAddress;
var p3 = this.HttpContext.Connection.RemotePort; //获取本地ip地址和端口,即项目部署在哪,获取的就是哪的。
var p4 = this.HttpContext.Connection.LocalIpAddress;
var p5 = this.HttpContext.Connection.LocalPort;

第二十九节: Asp.Net Core零散获取总结(不断补充)的更多相关文章

  1. centos MySQL主从配置 ntsysv chkconfig setup命令 配置MySQL 主从 子shell MySQL备份 kill命令 pid文件 discuz!论坛数据库读写分离 双主搭建 mysql.history 第二十九节课

    centos  MySQL主从配置 ntsysv   chkconfig  setup命令  配置MySQL 主从 子shell  MySQL备份  kill命令  pid文件  discuz!论坛数 ...

  2. 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)

              大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out  of  bag  data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森 ...

  3. 风炫安全web安全学习第二十九节课 CSRF防御措施

    风炫安全web安全学习第二十九节课 CSRF防御措施 CSRF防御措施 增加token验证 对关键操作增加token验证,token值必须随机,每次都不一样 关于安全的会话管理(SESSION) 不要 ...

  4. php第二十九节课

    文件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  5. Scala入门到精通——第二十九节 Scala数据库编程

    本节主要内容 Scala Mavenproject的创建 Scala JDBC方式訪问MySQL Slick简单介绍 Slick数据库编程实战 SQL与Slick相互转换 本课程在多数内容是在官方教程 ...

  6. [ExtJS5学习笔记]第二十九节 sencha ext js 5.1.0中动态更换皮肤主题

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/42016107 本文作者:sushengmiyan ------------------ ...

  7. 第二十九节,目标检测算法之R-CNN算法详解

    Girshick, Ross, et al. “Rich feature hierarchies for accurate object detection and semantic segmenta ...

  8. 第二十九节:Java基础知识-类,多态,Object,数组和字符串

    前言 Java基础知识-类,多态,Object,数组和字符串,回顾,继承,类的多态性,多态,向上转型和向下转型,Object,数组,多维数组,字符串,字符串比较. 回顾 类的定义格式: [类的修饰符] ...

  9. 第二百四十九节,Bootstrap附加导航插件

    第二百四十九节,Bootstrap附加导航插件 学习要点: 1.附加导航插件 本节课我们主要学习一下 Bootstrap 中的附加导航插件 一.附加导航 注意:此插件要使用 bootstrap3.0. ...

随机推荐

  1. Python求1000以内所有3或5的倍数的和。

    a=0 for n in range(1,1000): if n%3==0 or n%5==0: a=a+n print(a) 运行结果: 233168

  2. django-cors-headers

    django-cors-headers介绍 一个Django应用程序,向响应头中添加跨域资源共享(CORS)头.这允许从其他来源向Django应用程序发出浏览器内请求,当然也可以自定义中间件然后添加响 ...

  3. http://localhost:8080/sockjs-node/info?t=1556418283950 net:: ERR_CONNECTION_REFUSED(亲测有效~!)

    如果你的项目没有用到sockjs,vuecli3 运行npm run serve 之后network里面一直调用一个接口:http://localhost:8080/sockjs-node/info? ...

  4. Unity切换场景后变暗

    这个问题估计很多人都碰到过,原因是切换场景的光照贴图数据丢失,解决方案如下: 打开你要切换的场景,打开Windows-Lighting-Settings,将最下面的Auto Generate前面的勾去 ...

  5. VMware下Linux虚拟机访问本地Win共享文件夹

    VMware下Linux虚拟机访问本地Win共享文件夹 : 访问共享文件夹的步骤如下: 1.先在本地Win创建一个需要共享到虚拟机中的共享目录,如  F:\share. 2.打开你的VMware,选择 ...

  6. libcurl库的简介(二)

    下面是使用libcurl库实现文件上传的一个实例: void CDataProcess::sendFileToServer(void) { string netIp = strNetUrl + &qu ...

  7. Hadoop架构: 流水线(PipeLine)

    该系列总览: Hadoop3.1.1架构体系——设计原理阐述与Client源码图文详解 : 总览 流水线(PipeLine),简单地理解就是客户端向DataNode传输数据(Packet)和接收Dat ...

  8. python小白的爬虫之旅

    1.爬www.haha56.net/main/youmo网站的内容 ieimport requests import re response=requests.get("http://www ...

  9. 【MySQL】用户管理及备份

    "我们知道我们的最高权限管理者是root用户,它拥有着最高的权限,包括select.update.delete.grant等操作.一般在公司里DBA工程师会创建一个用户和密码,让你去连接数据 ...

  10. iOS 开发之函数式编程思想(Functional Programming)

    函数式编程(Functional Programming), 函数式编程强调的函数:1.不依赖外部状态:2.不改变外部状态. 函数式编程可解决线程安全问题,每一个函数都是线程安全的. 时间状态:变量一 ...