【ASP.NET Core快速入门】(七)WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试
WebHost的配置
我们用vs2017新建一个空网站HelloCore

这里的CreateDefaultBuilde实际上已经在内部替我们做好了默认配置。
- UseKestrel 使用kestrel server来处理请求
- UseContentRoot 设置站点目录
- ConfigureAppConfiguration
- ConfigureLogging
但是在这个地方呢,我们可以使用ConfigureAppConfiguration对配置进行更改,比如说我们添加jsonfile和commandline配置。我们可以添加一个ASP.NET配置文件appsettings.json


我们可以使用ConfigureAppConfiguration进行读取appsettings.json

我们可以在Startup.cs中将配置读出来,ApplicationBuilder就是我们构建管道的构建器,但是这个时候Configure方法中并没有Configuration。我们可以添加引用using Microsoft.Extensions.Configuration;然后就可以在Configure中使用Configuration了

运行效果

我们也可以修改启动的Url

IHostEnvironment和 IApplicationLifetime介绍
IHostEnvironment(宿主环境)
我们可以通过IHostEnvironment拿到ApplicationName(应用程序名称)、ContentRootFileProvider(项目所在目录文件提供程序)、ContentRootPath(项目所在目录)、EnvironmentName(开发环境)、WebRootPath(WebRoot所在目录)、WebRootFileProvider(WebRoot文件提供程序)

打印宿主环境信息

wwwroot目录一般都是放静态文件。
IApplicationLifetime
从命名的角度来看,ApplicationLifetime貌似是对当前应用生命周期的描述,而实际上它存在的目的仅仅是在应用启动和关闭时对相关组件发送相应的信号或者通知而已。
ApplicationLifetime可以在应用开始、结束中、结束后的时候执行委托的事件
我们可以在Configure中注入IApplicationLifetime

运行效果

dotnet watch run 和attach到进程调试
dotnet watch run
dotnet watch run我们要用到Visual Studio Code开发工具,打开Visual Studio Code,使用组合键Ctrl+Shift+Y打开调试控制台,选择终端,跳转到Demo2文件夹下面

新建一个HelloCore的.net的MVC的网站

这时候我们就可以打开这个网站,选择:文件--》打开文件夹
这时候我们打开终端执行命令dotnet run,可以很方便的执行,我们可以在

那我们怎么调试呢?我们可以先停止运行,然后我们点击F5或者点击调试进行调试

我们同时可以在我们的项目中打断点进行调试,我们就可以查看我们的断点信息

当我们执行的时候对代码进行修改,网站是不会有变化的。
attach
我们可以通过终端直接运行,这样就与我们.net调试工具vscode没有什么关系了,我们需要用到一个工具.net watch run,在项目文件中添加以下代码
这时候我们需要执行dotnet restore以下命令重新编译一下

然后我们直接用 dotnet watch run来启动
这时候我们访问http://localhost:5000/会显示
此时我们修改Startup.cs文件返回Hello World!11111,然后保存
我们可以看到网站进行了自动重启,这时候刷新网站,发现数据已经改变。

【ASP.NET Core快速入门】(七)WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试的更多相关文章
- 菜鸟入门【ASP.NET Core】7:WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试
WebHost的配置 我们用vs2017新建一个空网站HelloCore 可以使用ConfigureAppConfiguration对配置进行更改,比如说添加jsonfile和commandline配 ...
- Asp.Net Core轻松入门之WebHost的配置
在本篇文章中,我来讲一讲如何利用WebHost来加载配置文件和设置启动的Url 在前面的文章中讲过,ASP.Net Core应用程序会自动加载appsettings.json中的配置文件,那么如果配置 ...
- ASP.NET Core快速入门学习笔记(第1章:介绍与引入)
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务1:课程介绍 任务2:环境安装 下载地址:https://dotnet.m ...
- asp.net core-12.dotnet watch run 和attach到进程调试
1.打开visual studio code 创建一个项目 打开终端 输出: dotnet new web --name hellocore 2.用visual studio code打开项目文件夹 ...
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- ASP.NET Core快速入门_学习笔记汇总
第2章 配置管理 任务12:Bind读取配置到C#实例 任务13:在Core Mvc中使用Options 任务14:配置的热更新 任务15:配置框架设计浅析 第3章 依赖注入 任务16:介绍- 任务1 ...
- ASP.NET Core快速入门(第4章:ASP.NET Core HTTP介绍)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务22:课程介绍 1.HTTP 处理过程 2.WebHost 的配置与启动 ...
- ASP.NET Core快速入门--学习笔记系列文章索引目录
课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 抓住国庆假期的尾巴完成了此系列课程的学习笔记输出! ASP.NET Core快 ...
- 【笔记目录1】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 1 2 下一页 任务50:Identity MVC:DbContextSeed初始化 GASA 2019-03-02 14:09 阅读:16 ...
随机推荐
- 将JSON格式数据转换为javascript对象 JSON.parse()
<html><body><h2>通过 JSON 字符串来创建对象</h3><p>First Name: <span id=" ...
- Golang websocket推送
Golang websocket推送 在工作用主要使用的是Java,也做过IM(后端用的netty websocket).最近想通过Golang重写下,于是通过websocket撸了一个聊天室. 项目 ...
- Eureka-Client(Golang实现)
Eureka-Client Golang实现eureka-client 原理 根据Java版本的源码,可以看出client主要是通过REST请求来与server进行通信. Java版本的核心实现:co ...
- Python练手例子(15)
85.输入一个奇数,然后判断最少几个 9 除于该数的结果为整数. 程序分析:999999 / 13 = 76923. #!/usr/bin/python #coding=utf-8 if __name ...
- ubuntu Pycharm 2017 3.3 Active
1.打开激活窗口 2.选择 Activate new license with License server (用license server 激活) 3.在 License sever addres ...
- Python学习笔记【Nginx】:Nginx使用与完全卸载
安装与启动nginx 第一步:通过指令安装包 sudo apt install nginx sudo apt install nginx 第二步:安装成功后查看相关配置文件 ls /etc/n ...
- [Swift]LeetCode68. 文本左右对齐 | Text Justification
Given an array of words and a width maxWidth, format the text such that each line has exactly maxWid ...
- [Swift]LeetCode233. 数字1的个数 | Number of Digit One
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less th ...
- [Swift]LeetCode657. 机器人能否返回原点 | Robot Return to Origin
There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its mov ...
- [Swift]LeetCode896. 单调数列 | Monotonic Array
An array is monotonic if it is either monotone increasing or monotone decreasing. An array A is mono ...