菜鸟入门【ASP.NET Core】7:WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试

简介: WebHost的配置 我们用vs2017新建一个空网站HelloCore 可以使用ConfigureAppConfiguration对配置进行更改,比如说添加jsonfile和commandline配置。

 

WebHost的配置

我们用vs2017新建一个空网站HelloCore

可以使用ConfigureAppConfiguration对配置进行更改,比如说添加jsonfile和commandline配置。我们可以添加一个ASP.NET配置文件appsettings.json

 

使用ConfigureAppConfiguration进行读取appsettings.json

 

 可以在Startup.cs中将配置读出来,ApplicationBuilder就是我们构建管道的构建器,但是这个时候Configure方法中并没有Configuration。

我们可以添加引用using Microsoft.Extensions.Configuration;然后就可以在Configure中使用Configuration了

运行效果:

IHostEnvironment和 IApplicationLifetime介绍

 IHostEnvironment(宿主环境)

 我们可以通过IHostEnvironment拿到ApplicationName(应用程序名称)、ContentRootFileProvider(项目所在目录文件提供程序)、

ContentRootPath(项目所在目录)、EnvironmentName(开发环境)、WebRootPath(WebRoot所在目录)、WebRootFileProvider(WebRoot文件提供程序)

宿主环境信息

IApplicationLifetime

 从命名的角度来看,ApplicationLifetime貌似是对当前应用生命周期的描述,而实际上它存在的目的仅仅是在应用启动和关闭时对相关组件发送相应的信号或者通知而已。

ApplicationLifetime可以在应用开始、结束中、结束后的时候执行委托的事件

我们可以在Configure中注入IApplicationLifetime

 

dotnet watch run 和attach到进程调试

dotnet watch run

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

 

这时候我们就可以打开这个网站,选择:文件--》打开文件夹

这时候我们打开终端执行命令dotnet run,可以很方便的执行,我们可以在

 

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

 

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

 当执行的时候对代码进行修改,网站是不会有变化的。

 attach

 我们可以通过终端直接运行,这样就与我们.net调试工具vscode没有什么关系了,我们需要用到一个工具.net watch run,在项目文件中添加以下代码

<DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="2.0.0" />

 

这时候需要执行dotnet restore以下命令重新编译一下,然后直接用 dotnet watch run来启动

 

这时候我们访问http://localhost:5000/会显示

 

 

相关文章
|
3月前
|
API
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
【Azure 媒体服务】Media Service的编码示例 -- 创建缩略图子画面的.NET代码调试问题
|
2月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。
|
2月前
|
自然语言处理 C# 图形学
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
使用dnSpyEx对.NET Core程序集进行反编译、编辑和调试
|
4月前
|
Linux C# iOS开发
如何用 WinDbg 调试Linux上的 .NET程序
【7月更文挑战第13天】 1. `dotnet-dump`: Collects process dumps with `dotnet-dump collect -p &lt;process_id&gt;`. 2. `lldb`: Debugs Mono runtime apps on macOS/Linux. 3. **Visual Studio Code**: Remotely debugs .NET via the C# extension. 4. **JetBrains Rider**: Supports remote debugging of .NET on Linux.
|
3月前
|
开发框架 NoSQL .NET
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
使用 Asp.net core webapi 集成配置系统,提高程序的灵活和可维护性
|
3月前
|
开发框架 前端开发 JavaScript
前后端分离,Asp.net core webapi 如何配置跨域
前后端分离,Asp.net core webapi 如何配置跨域
|
4月前
|
并行计算 Java Python
「Python入门」Python多进程
本文探讨Python中的单进程和多进程。多进程使用`multiprocessing`库,如`Process`类,类似于`threading.Thread`。进程是操作系统分配资源的基本单位,每个程序至少有一个进程。多进程允许多个任务并发执行,提升效率,尤其在多核CPU上优于多线程,因Python的GIL限制了多线程的并行计算。文中通过吃饭睡觉打豆豆的例子,展示了单进程按顺序执行,多进程则可并发执行。还介绍了带参数的多进程、获取进程ID、主进程等待子进程结束及子进程守护等概念。在IO或网络密集型任务中,多线程和多进程各有优势,具体选择应根据任务类型和资源需求。
24 0
「Python入门」Python多进程
|
5月前
|
开发框架 JSON .NET
学习ASP.NET 中的 默认应用程序配置源
默认主机配置源 使用命令行配置提供程序的命令行参数
37 2
|
5月前
|
自然语言处理 C# 图形学
​一款开源的.NET程序集反编译、编辑和调试神器
本文介绍了.NET反编译和调试工具dnSpyEx的使用方法。dnSpyEx是dnSpy的非官方Fork版本,支持.NET Framework、.NET Core和Unity程序集的调试和编辑,具有多种语言界面。主要功能包括:浅色、蓝色和深色主题,调试支持,代码编辑以及多语言支持。用户可以从GitHub下载并直接运行dnSpyEx,无需安装。通过创建测试项目,编译成dll文件,然后使用dnSpyEx进行调试和编辑程序集中的代码和IL指令。此外,文章还提供了项目源码地址和相关优秀项目的链接。
118 0
|
6月前
|
Java 数据库连接 数据处理
Python从入门到精通:3.1.2多线程与多进程编程
Python从入门到精通:3.1.2多线程与多进程编程