11 2019 档案
摘要:在 ASP.NET Core 中通过 `Request.Host.Host` 获取主机名(hostname)时,如果主机名中包含非 ASCII 字符(比如 puny code),就会引发下面的异常。改用 `Request.Headers[HeaderNames.Host].ToString()` 可以避开这个问题,但需要注意一个地方,用这个方法获取时,如果 url 中包含端口号(比如 https://localhost:5000),得到的主机名中也会包含端口号
阅读全文
摘要:通过代理商购买阿里云服务器时,先要代理商在阿里云分销平台中下单,但代理商下单是在自己的账号中下单,配置服务器时根本无法选择我们创建的 VPC 专有网络,只能选择“默认专有网络”。然后,我们通过“采购单”购买服务器,购买后服务器会使用“默认专有网络”创建,但我们使用的不是默认专有网络,于是阿里云会自动创建 172 网段开头的专有网络与交换机。
阅读全文
摘要:不管哪种用户验证方式,最终都是在验证成功后设置 HttpContext.User ,后续处理环节通过 HttpContext.User 获取用户信息。如果能直接修改 HttpContext.User ,就能达到模拟登录的目的,而 ASP.NET Core 的中间件(middleware)天生具备的可以任意修改 HttpContext 的能力,让实现这个想法不费吹灰之力。
阅读全文
摘要:一直不喜欢 Startup 中这两个可读性很比较差的命名 ConfigureServices 与 Configure。ConfigureServices 用于配置依赖注入以在运行时根据依赖关系创建对象,Configure 用于配置中间件(middleware)以构建请求处理流水线。
阅读全文