搭建认证服务
认证服务用来验证用户登录并颁发JWT,也提供用户管理等API。认证服务的实现代码都基于Authentication与Authorization。 开发认证服务的领域层IdentityService.Domain是认证服务的领域层项目。ASP.NET Core的标识框架中已经提供了IdentityRole、IdentityUser等基础的实体类,我们只要编写它们的子类,然后根据需要再添加自定义的属性即可。 首先创建Role和User类进行编写 1234567891011121314151617namespace IdentityService.Domain.Entities{ /// <summary> /// 表示系统中的角色实体,继承自 ASP.NET Core Identity 的 IdentityRole,主键类型为 Guid。 /// </summary> public class Role : IdentityRole<Guid> { ///...
搭建文件服务
文件服务用来将用户上传的音频文件上传到文件服务器和备份服务器。为了提高处理速度和避免文件重复上传,当用户上传服务器中已经存在的文件时,文件服务器会直接把之前的文件返回给上传者。 开发文件服务的领域层FileService.Domain是文件服务的领域层项目。文件服务中只有一个领域模型“上传项”(UploadedItem),每一次用户上传的文件就是一个“上传项”。UploadedItem实体类中定义了如下几个主要的属性。 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960/// <summary>/// 表示已上传的文件项,包含文件的基本信息和备份、远程访问地址。/// </summary>public record Uploadedltem : BaseEntity, IHasCreationTime{ /// <summary> ///...
主系表
主系表主谓宾(特殊)=主系表Look=看起来This girl looks pretty.这个女孩看起来很漂亮。Smell=闻起来This flower smells good.这朵花闻起来很不错。Taste=尝起来This candy tastes sweet. 主语 (Subject):句子描述的核心对象(人、事、物、抽象概念等)。 示例:He, The book, Her smile, This city 系动词 (Linking Verb):连接主语和表语的动词,本身无实际动作含义,仅起 “连接” 和 “表述状态” 的作用。 核心系动词:be 动词(am, is, are, was, were) 其他常见系动词: 表 “变化”:become(变得)、get(变得)、turn(变成)表 “感官”:look(看起来)、sound(听起来)、taste(尝起来)、smell(闻起来)、feel(摸起来 / 感觉)表 “保持”:keep(保持)、stay(维持)、remain(仍然是)表语 (Predicate...
及物动词和不及物动词
及物动词和不及物动词及物动词:触及物体(宾语·)及物动词必须要接宾语!1.eat 吃 I eat a pear.我吃一个梨子。2.watch 观看 I watch TV. 我看电视。3.see看到 He sees a monkey. 他看到一只猴子。 不及物动词:不触及物体(宾语·),介词(当桥梁)1. look 看 I look at a person. 我看着一个人。2. run 跑 I run on the ground. 我在地上跑。3. sleep 睡觉 Marry sleeps in her bedroom. Marry在卧室睡觉。不及物动词可不接任何成分,单独成句4. die 死亡 He died. 他死了5. win/lose 胜利/失败 You win/lose. 你赢/输了6. arrive/come/go He has arrived/come/gone 他到了/来了/走了。
注册MediatR,添加工作单元过滤器
注册MediatR12// 注册 MediatR,用于领域事件和命令处理services.AddMediatR(assemblies); 把指定程序集(assemblies)里实现的 MediatR 处理程序注册到依赖注入容器,这样你就可以用 MediatR 的领域事件和命令模式了。AddMediatR是自定义扩展方法。 12345678910111213141516171819202122232425262728293031323334353637383940414243public static class MediatorExtensions{ /// <summary> /// 扩展IServiceCollection以批量注册MediatR相关服务。 /// </summary> /// <param name="services">依赖注入服务集合。</param> /// <param...
名词性从句
名词性从句主语从句+宾语从句 主语、宾语==名词介词短语(介宾)=介词+名词1,I look at you.我看着你。You是名词,可以改成我所喜欢的东西。I look at what I like thing.2.我进入这栋房子。I get into the house.我进入他所住的地方。I get into where he lives.3.我对这本书很感兴趣。I am very interested in this book.我对他啥时候来我家很感兴趣。I am very interested in when he will come to my home.4.我对这个问题很困惑。I am confused with the question.我对他这么做的原因很困惑。I am confused with why he did this.5.我不知道这件事。I have no idea of this.我不知道他是否会来。I have no idea of whether he will come.我不知道她是怎么解出这道问题的。I...
配置 JWT 认证 和 Swagger 的认证支持
配置认证与授权12345// 添加认证服务builder.Services.AddAuthentication();// 添加授权服务builder.Services.AddAuthorization(); AddAuthentication():注册认证系统,用JWT认证。AddAuthorization():注册授权系统,用于在 [Authorize] 等特性中判断用户是否有权限访问。 读取并绑定 JWT 配置,注册 JWT 认证方案12// 从配置中获取 JWT 相关配置JWTOptions jwtOpt = configuration.GetSection("JWT").Get<JWTOptions>(); 从配置源读取JWT节点,并绑定到 JWTOptions 对象里。 12345678910111213141516171819202122public class JWTOptions{ /// <summary> /// 令牌颁发者(Issuer)。 /// </summary> ...
主语从句
主语从句I know that you are right.=>可以当主语我知道你是对的。主语和宾语都是名词,名词可以当主语 That you are right is known to everyone.你是对的是众所周知的。 I know where he lives.=>当主语我知道他住在哪里(他住在的位置)。 Where he lives is unknown.他住的位置没人知道。 It=形式主语(傀儡主语)To do sth(带名词性)英语习惯 先说重点 因为大多都是后置修饰 去解决这个复杂的大问题实在太难了。To solve this big complex problem is very hard. It is very hard to solve this big complex problem.(这个是真正的主语) 比如: 见到你很高兴。To see you is nice主语可以放到后面用It代替It is nice to see you. doing sth.也有名词性Seeing you is...
如何自动扫描并注册多个程序集中的所有 DbContext 类型
批量注册DbContext12345services.AddAllDbContexts(ctx =>{ string connStr = configuration.GetValue<string>("DefaultDB:ConnStr"); ctx.UseSqlServer(connStr);}, assemblies); AddAllDbContexts是自定义扩展方法,作用是自动注册所有DbContext 类型到依赖注入容器中。configuration.GetValue<string>(“DefaultDB:ConnStr”)从配置系统中读取连接字符串,我是配置到环境变量。assemblies 中所有实现了 DbContext 的类,并使用提供的委托配置它们。 AddAllDbContexts123456789101112131415161718192021222324252627282930313233343536373839404142public static class...
宾语从句
宾语从句宾语从句是名词性从句的一种,在句子中充当宾语,通常位于及物动词、介词或某些形容词之后,用来表达一个完整的意义。 1.我说了一个词。 陈述句I said a word.我说你是对的。I said that you are right. That可以省略。(能省而不省表强调)That引导用于陈述句作宾语,此时 that 在从句中不充当成分,也无实际意义,常可省略(但在以下情况不可省略:多个宾语从句并列时,第一个 that 可省,后面的 that 不能省;that 引导的宾语从句作介词宾语时)。 2.我想问一个问题。 疑问句I want to ask a question.我想问你啥时候来我家。I want to ask that when you come to my home3.我不知道这个故事。=>换成一个句子就是宾语从句I don’t know this story.我不知道他是怎么学习英语的。I don’t know how he studies English.4.我认为他能解决这个问题。I think that he can...