Sign in

1. Overview

2. ResponseChachingOptions

  • SizeLimit 定义了所有的响应缓存的大小,默认 100 兆
  • MaximumBodySize 单个响应缓存大小,默认 64 兆
  • UseCacheSenesitivePaths 是否请 …

1. Overview

  • TryEnetryAsync 方法回一个 ValueTask 对象,如果得到结果是 true ,则该请求能够继续处理下去;如果得到的结果是 false , 则拒绝该请求
  • OnExit 方法会在请求完成之后调用,这样允许后续的请求得到处理的机会。

1 Overview

  1. HttpsRedirctionMiddleware
  2. HtsMiddleware

2. HttpsRedirectionMiddleware

  • RedirectStatusCode Response 返回的状态码,默认是 307
  • HttpsPort Https 服务选择的端口号
  1. 如果 _config 中制定了 HTTPS_PORT 或者 ANCM_HTTPS_PORT ,则找到端口号
  2. 如果 FeatureCollections 中的 ServerAddressFeature 中有 Https 的端口,则选择这个端口。注意有多个端口,则仍然表示失败
  1. 如果是 https 请求,则继续处理
  2. 如果没有找到 Https 的端口,则继续处理
  3. 将原本的 hostHttpsport 拼接成新的 host (注意,一般默认 https 访问 443 端口,所以无需显示标记
  4. 接下来为 response 修改相应的内容:1) 重定向的地址;2)状态响应码;3)将重定向的地址放在 Header 中;4)完成任务,不执行后续的中间件

3 HstsMiddleware

Strict-Transport-Security: max-age=31536000; includeSubDomains
  • max-age 表明浏览器记住这个站点的时间
  • IncludeSubDomains 指定 subdomain 也同样适用
  1. 如果是非 Https 请求,则继续处理
  2. 如果 Host 在预定义列表中,比如 localhost , 则交给下一个处理
  3. 否则为请求的 Header 中添加 Hsts 记录。

1 Overview

  • Services.AddDistributedMemoryCache() 表明使用分布式内存作为 Session 存储的位置
  • Service.AddSession() 设置Session 的信息,比如有效时间是 10 秒钟,客户端的 Cookie 信息
  • app.UseSession 开始使用 Session 这个中间件.

1 Overview

  • DefaultFilesMiddleware
  • DirectoryBrowserMiddleware
  • StaticFileMiddleware
public PathString RequestPath {get; set;}
public IFileProvider FileProvider {get; set;}
public bool RedictToAppendTrai …

1 Overview

  • 构造函数是接受 ILogger<T> 还是 ILoggerFactory 参数?
  • 如何通过 IsEnabled(LogLevel logLevel) 来避免性能损失?
  • 重载构造函数来增加参数,可能会导致 Compile error , 该怎么处理?

1 Overviews

2 Features

2.1 IHttpConnectionFeature

2.2 IHttpRequestFeature


  • Server (接受和响应请求)
  • Middleware (处理请求的中间件)

1. Overview


1 概览

  • 创建策略 (Policy) : 这一步根据需要的场景来创建相应的策略, 比如重试,熔断器等等;还有可以将多个策略组装在一起,形成一个复合的策略。
  • 执行操作:将业务逻辑封装成一个委托(Action),然后调用策 …

1 Content Security Policy

Refuse to connect to 'https://localhost:9780/dauthsvc/sign' because it violates the following Content Security Policy directive: "connect-src 'self' api.localhost ....

Feng Gao

A software developer in Microsoft at Suzhou. Most articles spoken language is Chinese. I will try with English when I’m ready

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store