视频学习笔记
超炫酷的可视化大屏
01创建项目及安装组件
ASP.NET Core 6框架揭秘读书笔记
1-编程初体验
2-中间件
3-配置
4.日志
b站视频1
实体
api服务
本文档使用 MrDoc 发布
-
+
首页
3-配置
# 基础配置 ```js { "greeting": { "morning": "Good morning!", "afternoon": "Good afternoon!", "evening": "Good evening!" } } ``` ```java public interface IGreeter { string Greet(DateTimeOffset time); } public class Greeter : IGreeter { private readonly IConfiguration _configuration; public Greeter(IConfiguration configuration) => _configuration = configuration.GetSection("greeting"); public string Greet(DateTimeOffset time) => time.Hour switch { var h when h >= 5 && h < 12 => _configuration["morning"], var h when h >= 12 && h < 17 => _configuration["afternoon"], _ => _configuration["evening"], }; } ``` ```java public class GreetingMiddleware { private readonly IGreeter _greeter; public GreetingMiddleware(RequestDelegate _, IGreeter greeter)=> _greeter = greeter; public Task InvokeAsync(HttpContext context) => context.Response.WriteAsync(_greeter.Greet(DateTimeOffset.Now)); } ``` ```java var builder = WebApplication.CreateBuilder(args); builder.Services.AddSingleton<IGreeter, Greeter>(); var app = builder.Build(); app.UseMiddleware<GreetingMiddleware>(); app.Run(); ``` # 选项配置 ```java public interface IGreeter { string Greet(DateTimeOffset time); } public class GreetingOptions { public string Morning { get; set; } = default!; public string Afternoon { get; set; } = default!; public string Evening { get; set; } = default!; } public class Greeter : IGreeter { private readonly GreetingOptions _options; public Greeter(IOptions<GreetingOptions> optionsAccessor) => _options = optionsAccessor.Value; public string Greet(DateTimeOffset time) => time.Hour switch { var h when h >= 5 && h < 12 => _options.Morning, var h when h >= 12 && h < 17 => _options.Afternoon, _ => _options.Evening }; } ``` ```java public class GreetingMiddleware { private readonly IGreeter _greeter; public GreetingMiddleware(RequestDelegate _, IGreeter greeter)=> _greeter = greeter; public Task InvokeAsync(HttpContext context) => context.Response.WriteAsync(_greeter.Greet(DateTimeOffset.Now)); } ``` ```java var builder = WebApplication.CreateBuilder(args); builder.Services .AddSingleton<IGreeter, Greeter>() .Configure<GreetingOptions>(builder.Configuration.GetSection("greeting")); var app = builder.Build(); app.UseMiddleware<GreetingMiddleware>(); app.Run(); ```
孙端己
2024年8月26日 11:41
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码