Skip to main content

静态文件支持

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:43:38

静态文件主要是指在ASP.net Core项目种的包括js, css, html, 图片等等资产。ASP.net Core会直接向客户端返回这些资产。 使用静态文件中间件 静态文件默认是存储在web root目录,这个目录默认是在{contentroot}/wwwroot里,但是也可以使用扩展方法UseWebRoot来进行改变。在ASP.net Core的模板里是使用方法CreateDefaultBuilder来设置Content root和web root的。 默认的web root的布局是: wwwroot css js lib 启用中间件 直接从模板里可以看到:

Read more

Make HTTP Request

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:41:42

Asp.net Core提供将IHttpClientFactory实例注册为服务,为用户创建和配置HttpClient, IHttpClientFactory提供如下的优势: 提供一个控制中心,用于创建命名或者类型HttpClient。 利用Delegate handler为HttpClient创建中间件。并提供基于Polly的扩展方法,为httpclient提供重试,错误处理等功能。 将HttpClientMessageHandler进行池化,并管理其生命周期。 为所有通过client的请求提供可配置的日志功能。 基本的使用形式 IHttpClientFactory有如下几种使用形式: 基本使用方法 命名客户端 强类型客户端 泛型客户端

Read more

错误处理

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:39:26

本节我们来学习错误的处理。 Developer Exception Page 在开发的阶段打开UseDeveloperExceptionPage()中间件。 例如: public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } else { app.UseExceptionHandler("/Error"); app.UseHsts(); }

Read more

路由

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:37:05

关于路由这个部分,我想有几个技术要点是需要先理解清楚的,否则的话,可能很多新手同学对于理解Asp.net Core 3.0之后的以中间件: UseRouting和UseEndpoint这个两个概念可能会非常混淆,可能非常不明白为什么既然有了路由的中间件,为什么还需要Endpoint这样一个中间件。 先说为什么?我理解最主要的就是为了解耦,将路由匹配,路径选择这些功能和选择好路由之后实际执行完全分开,也就是如果你愿意,你完全可以自己重新定义路由组件,但是不影响Endpoint中间件的执行。 另外要理解的是我们在Startup的Configure方法中执行的扩展方法,都是在注册将来要在一个request里执行的委托,也就是在该方法里前后执行的顺序并不影响将来在request里执行的顺

Read more

.Net Core中的Host

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:35:11

.Net Core和.Net 5 以上有一个非常好的概念就是:Host, 中文可以翻译为主机,但是不够贴切,所以还是以Host比较好。Host作为一个程序的框架,非常方便大家用于设计多种类型的应用,微软也有很多产品都是基于这个模型来设计的,例如我们的ASP.net Core框架,以及Azure Funciton都是很优秀的代表。 那么怎么定义Host的概念呢? Host就是指封装了一个应用的所有资源的对象,同时它也是一个程序框架,帮助大家快速的使用.Net Core和.Net进行应用开发,同时它还管理了应用的各种依赖资源以及应用的生命周期: 提供了依赖注入支持 支持日志 支持配置 IHostedService的实现,用于实现各种服务。例如WebHost就是一种实现了H

Read more

使用日志

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:31:11

分类: Asp.net Core基础 ◆ 标签: #Asp.net Core #.Net技术 #Web ◆ 发布于: 2021-09-09 在Asp.net core中除了Console以外,其他的日志提供者都存储日志,例如Azure Application Insights将日志存储到该服务中,框架已经向用户提供了不少日志提供者,我们还是从最基本的模板来看一下默认已经启用了哪些日志提供者。 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } public st

Read more

ASP.net Core中的多环境

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:28:35

我们这里讲的环境指的是ASP.net Core应用运行的runtime环境。这些环境您可以自定义环境名称,并根据这些环境来设置不同的设置,但是有三个环境以及用来命名的环境的名称是ASP.net Core定义的: Development: 开发环境 Staging: 预发布环境 Produciton: 产线环境 ASP.net Core生成的程序模板,也会根据这三个环境设定一些仅仅有该环境才有的特性,例如: 在Development开发环境下,启用中间件UseDeveloperExceptionPage 在预发布环境和产线环境,启用中间件UseExceptionHandler 注意在Startup类中的Configure方法可以注入IWebHostEnvironment实

Read more

ASP.net Core中的选项模式(Options Pattern)

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:26:19

我们上一节简要的介绍了应用如何访问存取配置,我们在存取配置时都是直接注入了IConfiguration实例,然后通过该实例的方法来访问配置,但是最佳的做法实际上是通过选项模式来访问配置。 先快速的看一下如何什么是选项模式。 我们有一个配置文件如下: "Position": { "Title": "Editor", "Name": "Joe Smith" } 定义一个选项类来表示这个这个配置: public class PositionOptions { public const string Position = "Position"; public string Title { get; set; }

Read more

配置

分类:  Asp.net Core入门 标签:  #Asp.Net core基础 #基础 #Web 发布于: 2023-06-04 20:24:03

ASP.net Core基于Configuration Provider提供配置服务,Configuration Provider从配置源(Configuration source)读取键值对的配置,并提供给Asp.net Core。 默认支持如下的配置源: 配置文件: appsettings.json 环境变量 Azure Key Vault Azure App Configuration服务 命令行参数 自定义的配置提供者 目录文件 内存对象 缺省配置 关于缺省的配置,我们从dotnet new或者Visual Studio创建的模板:

Read more