【ASP.NET CORE系列【七】分析NetCore启动原理】教程文章相关的互联网学习教程文章

asp.net core系列 49 Identity 授权(上)【代码】【图】

一.概述 授权是指用户能够访问资源的权限,如页面数据的查看、编辑、新增、删除、导出、下载等权限。ASP.NET Core 授权提供了多种且灵活的方式,包括:Razor pages授权约定、简单授权、Role角色授权、Claim声明授权、Policy策略授权、资源授权、视图授权。 1.1 Razor pages约定授权Razor pages约定授权用于Razor page应用程序,以及MVC中的Identity Razor Pages库,不适应于MVC中的控制器和视图。如下图适用MVC中Identi...

asp.net core系列 39 Razor 介绍与详细示例【代码】【图】

原文:asp.net core系列 39 Razor 介绍与详细示例一. Razor介绍在使用ASP.NET Core Web开发时, ASP.NET Core MVC 提供了一个新特性Razor。 这样开发Web包括了MVC框架和Razor框架。对于Razor来说它是一个新特性,在官方介绍ASP.NET Core的优点中提到“Razor Pages可以使基于页面的编码方式更简单高效”。 1.1 Razor结构介绍(1) Pages文件夹 存放所有Razor页面,包括Razor 页面和支持文件。 每个 Razor...

asp.net core系列 27 EF模型配置(索引,备用键,继承)【代码】【图】

一.索引索引是许多数据存储中的常见概念。虽然它们在数据存储中的实现可能会有所不同,但它们可用于更有效地基于列(或列集)进行查找。按照约定,用作外键每个属性 (或组的属性) 会自动创建索引。无法使用数据注释创建索引。1.1 非唯一索引Fluent API 在单个属性上指定索引。默认情况下,索引是非唯一的。如下代码示例在Blogs表上创建Url列索引:class MyContext : DbContext {public DbSet<Blog> Blogs { get; set; }protected...

asp.net core系列 25 EF模型配置(隐藏属性)【代码】【图】

原文:asp.net core系列 25 EF模型配置(隐藏属性)一. 隐藏属性概述隐藏属性也叫影子属性,该属性不是在.net实体类中定义的属性,而是在EFCore模型中为该实体类型定义的属性。这些属性的值和状态完全在变更跟踪器中维护。它有二个功能:(1)当数据库中某些字段不想映射到实体类上公开的属性时,隐藏属性非常有用。(2)隐藏属性通常是用于外键属性,其中两个实体之间的关系由数据库中的外键值表示,但是两个实体关系是使用实体类型之间的...

asp.net core 系列 7 Razor框架路由(上)【代码】【图】

一.概述在上二篇中,主要是介绍了asp.net core mvc中路由的使用,这篇继续介绍路由在ASP.NET Core Razor中的使用。Razor Pages应该使用默认的传统路由,从应用程序的Pages文件夹中提供命令资源。还可以使用其他约定来自定义 Razor Pages 路由行为。在ASP.NET Core MVC 中是使用路由中间件来匹配传入请求的 URL 并将它们映射到操作(action)。而ASP.NET Core Razor使用页面路由和应用模型提供程序约定,来控制 Razor 页面应用中的页面...

asp.net core 系列 8 Razor框架路由(下)【代码】【图】

三.页面路由操作约定   接着上篇讲asp.net core 系列 7 Razor框架路由。在上篇继续第三节 "页面路由操作约定" 的最后一小节 AddPageRoute 。 3.3. 配置页面路由AddPageRoute使用 AddPageRoute 配置路由,该路由与指定页面关联, 使用指定的路由生成页面链接。 AddPageRoute 使用 AddPageRouteModelConvention 建立路由。示例应用为 Privacy.cshtml 创建指向 /ThePrivacyPage 的路由:options.Conventions.AddPageRoute("/Privac...

asp.net core 系列 9 环境(Development、Staging 、Production)【代码】【图】

一.在asp.net core中使用多个环境ASP.NET Core 配置是基于运行时环境, 使用环境变量。ASP.NET Core 在应用启动时读取环境变量ASPNETCORE_ENVIRONMENT,并将该值存储在 IHostingEnvironment.EnvironmentName 中。ASPNETCORE_ENVIRONMENT 可设置为任意值,但框架支持三个值:Development、Staging 和 Production。 如果发布项目未设置 ASPNETCORE_ENVIRONMENT,则默认为 Production (本机vs中项目Properties\launchSettings.json中en...

asp.net core 系列 5 MVC框架路由(上)【代码】

一. 概述介绍asp.net core路由时,我初步想了下,分几篇来说明。 路由的知识点很多,参考了官方文档提取出一些重要的知识点来说。 在ASP.NET Core中是使用路由中间件来匹配传入请求的 URL 并将它们映射到操作(action方法)。路由是在程序启动时进行传统路由或属性路由定义。 路由描述如何将 URL 路径与操作相匹配。 它还用于在响应中生成送出的 URL(用于链接)。路由操作既支持传统路由,也支持属性路由。也可混合使用。通常传...

asp.net core 系列 3 依赖注入服务【代码】【图】

一. 依赖注入概述 在软件设计的通用原则中,SOLID是非常流行的缩略语,它由5个设计原则的首字母构成:单一原则(S)、开放封闭原则(O)、里氏替换原则(L)、接口分离原则(I)、依赖反转原则(D)。本篇介绍依赖反转原则以及在ASP.NET Core中的实现。直接依赖是指:当一个类需要另一个类协作来完成工作的时候就产生了依赖。举例比如:模块 A 调用模块 B 中的函数,而模块 B 又调用模块 C 中的函数,则编译时 A 取决于 B,而 B 又取决于 C。...

asp.net core 系列 4 注入服务的生存期【代码】

一.服务的生存期在容器中每个注册的服务,根据程序应用需求都可以选择合适的服务生存期,ASP.NET Core 服务有三种生存期配置:(1) Transient:暂时生存期,在每次请求时被创建。 这种生存期适合轻量级的,无状态的服务。(2) Scoped: 作用域生存期,在每次请求被创建一次。(3) Singleton: 单例生存期,在它们第一次被请求时创建。每个后续请求将使用相同的实例。如果应用程序需要单例行为,建议让服务容器管理服务的生命周期,而不是...

asp.net core 系列 2 启动Startup类介绍【代码】

一.Startup类ASP.NET Core 应用是一个控制台应用,它在其 Program.Main 方法中创建 Web 服务器。其中Main方法是应用的托管入口点,Main 方法调用 WebHost.CreateDefaultBuilder来创建 Web 主机,自动分配了 Kestrel Web 服务器。IWebHostBuilder 的 Build 方法生成 IWebHost对象调用Run 方法启动WebHost,此时托管应用并开始侦听 HTTP 请求。代码如下所示:public class Program{public static void Main(string[] args){CreateWeb...

asp.net core 系列 1 概述

一. 概述ASP.NET Core 是一个跨平台的高性能开源框架,可以用来:建置 Web 应用程序和服务、IoT应用和移动后端、在 Windows macOS 和 Linux 上使用喜爱的开发工具、部署到云或本地、NET Core 或 .NET Framework 上运行。ASP.NET Core 可以面向 .NET Core 或 .NET Framework。面向 .NET Framework 的 ASP.NET Core 应用无法跨平台,它们仅在 Windows 上运行。通常,ASP.NET Core由 .NET Standard 库组成。与 .NET Standard 2.0 兼...

5.3Role和Claims授权「深入浅出ASP.NET Core系列」【图】

希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注。Role授权这是一种Asp.Net常用的传统的授权方法,当我们在生成Token的时候,配置的ClaimTypes.Role为Admin,而ValuesController.cs是一个普通user(如下图所示),我们看下是否能访问成功?   我们把生成的Token通过JWT官网验证一下,发现多了一个"role":"admin" Postman结果如下图所示,结果肯...

2.2Bind建立配置文件和实体的映射「深入浅出ASP.NET Core系列」【图】

希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。新建MVC项目 这次我们没有使用控制台项目,而是使用mvc来测试。 如下图所示,选择空的项目,建完后,记得把项目设置为启动项 新建配置文件appsettings.json和映射的实体类 这里有个坑,就是json和实体类必须要一一对应,假如json里命名为student,实体类为students,内部自动映射过程会报错,错误如下: Startup启动时注入配置类Configuratio...

2.3Options建立配置和实体的映射「深入浅出ASP.NET Core系列」【代码】【图】

希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,谢谢关注。Startup.cs中创建MVC中间件 关键代码:services.AddMvc();app.UseMvcWithDefaultRoute(); 关于中间件的内部机制,后续单独专栏进行深入挖掘,此处略过。 Option在Controller里的使用 2.1HomeController里使用Option进行绑定2.2Views的Index.cshtml Index.cshtml的智能感知有时候会莫名失效,重启一下VS就可以了。2.3Startup.cs注册实体类 这个...