12 2021 档案
摘要:前言 有个很简单的需求,想从 URL 里获取到 domain 不要 subdomain。 abc.example.com -> example.com 没想到就这么简单的需求,超级难做。而且 .NET 也没有 build-in 的。 参考: Get just the domain name from
阅读全文
摘要:前言 Flex 诞生在 Float 之后, Grid 之前, 它主要是取代 Float 来实现布局. 而它没有 cover 到的地方则由 Grid 弥补. 所以当前, 我们做布局时, 几乎不用 Float, 大部分都用 Flex, 少许地方用 Grid (通常 Flex 搞不定才会用 Grid).
阅读全文
摘要:前言 我原本以为, 在 Figma 只要用 Auto Layout 就可以打天下. 真的是 too young too simple. 要做一个简单的 7:3 比例, 用 Auto Layout 是做不出来的. Auto Layout fill container 只能做到平均 50% : 50%
阅读全文
摘要:前言 反向代理是这样的: 2 台 web server, A server, B server A server 是 public 的, 有 domain, 有 SSL (作为 B server 的代理) B server 是 private 的, 有 IP Address, 没有 doamin,
阅读全文
摘要:前言 之前就有写过学习笔记: Asp.net core 学习笔记 Fluent Validation 但都是用一点记入一点,零零散散不好读, 这一篇来稍微整理一下. 主要参考: Fluent Validation 官网 安装 dotnet add package FluentValidation d
阅读全文
摘要:Multiple Form Binding 问题 在一个 page 里面有 2 张 form, 那么就会有 2 个 model binding. 当任何一个 submit 的时候. 由于 2 个 model 都属于 page, 检测 model valid 的时候 2 个都会检查. 当然其中 1 个
阅读全文
摘要:前言 之前有介绍过读写 Certificate Store, 但在 production server 经常会遇到权限的问题. 为了一劳永逸, 可以考虑把 Certificate 放到 Azure Key Vault 里, 然后通过 API 去拿. 这样做的另一个好处是对 Server 依赖更少.
阅读全文
摘要:前言 Many to many 是 EF Core 5.0 才开始有的, 以前都用 2 个 1-n 来实现的. 由于它比 1-n 复杂, 所以有必要写一遍来记入一下. 参考: Relationships Property bag entity types Without Fluent API pub
阅读全文
摘要:RoleManager, RoleStore, EF Core 关系 RoleManager 可以理解为一个上层 service, 是让我们操作 Role 的. 比如 create, update, delete 等. RoleStore 可以理解为一个 repository, 默认情况下, 它内部
阅读全文
摘要:CSS Rounded Corners Link to W3Schools 它是用来画圆角的, 假设有 1 给正方形, 100px. border-top-left-radius: 30px; before after 也可以用 percentage. 如果是正方形, 4 个角 50% 就变成圆形了
阅读全文
摘要:CSS Combinators Link to W3Schools body p = body 里的所有 p descendant body > p = body first child layer 所有的 p div + p = div next p (must be next element a
阅读全文
摘要:CSS Color Link to W3Schools 这里讲的是 color 的 value, 它可以用在许多属性上, 比如 background-color, color, border-color 等等 color 值有许多写法, RGB, HSL, HEX, ColorName 通过 VS
阅读全文
摘要:前言 之前的文章有谈过关于 ASP.NET Core 处理 under-posting 的方式. 它会使用 class default value. 许多时候这可能不是我们期望的. 比如当我们想要 patch update resource 的时候. 一种解决方法是把 DTO 改成 nullable
阅读全文
摘要:前言 OData 是很冷门的东西, 用的人少, 开发的人少, 文档自然也少的可怜. 如果真的想用它, 多少要对它机制有点了解. 这样遇到 bug, 想扩展的时候才不至于完全没有路. 主要参考: OData NxT 001: Project Proposal OData NxT 002: OData
阅读全文
摘要:前言 OData 其实没有权限的机制, Client 可以任意的 $select, $expand. 即便它可以做简单防御设置, 但是离平常的业务需求还是很远. 一般上 query entity 常见的需求是, 不能 $select 某些 property, 不能 expand 某些 propety
阅读全文
摘要:前言 本来计划用 Custom Serialize 来解决 OData 不支持 [JsonPropertyName] 的问题. 但是后来发现 Custom Serialize 并不能解决这个问题. Custom Serialize 允许我们在 response 的时候修改输出的 JSON 但是 $f
阅读全文
摘要:前言 上一篇讲完了基本使用 Policy-Based. 这一篇另外说一说怎么动态调用它. 参考: Custom Authorization Policy Providers using IAuthorizationPolicyProvider in ASP.NET Core 需求和实现思路 buil
阅读全文
摘要:前言 Authorize 授权和 Identity Framework 关系不是很大. 虽然 Framework 有帮忙处理 Role, Claims 这些, 但这些只是整个 Authorize 小部分而已. 所以接下来我会用 Without Identity Framework 的方式来介绍 AS
阅读全文