asp.net core
文章平均质量分 90
asp.net core
花阴偷移
水之积也无厚,则其负大舟也无力,目前从事数据采集和.net开发。
展开
-
asp.net core 系列 17 通用主机 IHostBuilder
一.概述 ASP.NET Core 通用主机 (HostBuilder),该主机对于托管不处理 HTTP 请求的应用非常有用。通用主机的目标是将 HTTP 管道从 Web 主机 API 中分离出来,从而启用更多的主机方案。基于通用主机的消息、后台任务和其他非 HTTP 工作负载可从横切功能(如配置、依赖关系注入 [DI] 和日志记录)中受益。通用主机是 ASP.NET Core 2.1 中...原创 2019-01-28 09:13:00 · 225 阅读 · 0 评论 -
asp.net core 系列 16 Web主机 IWebHostBuilder
一.概述 在asp.net core中,Host主机负责应用程序启动和生存期管理。host主机包括Web 主机(IWebHostBuilder)和通用主机(IHostBuilder)。Web 主机是适用于托管 Web 应用;通用主机(ASP.NET Core 2.1 或更高版本)是适用于托管非 Web 应用;在未来的版本中,通用主机将适用于托管任何类型的应用,包括 Web 应用...原创 2019-01-25 11:06:00 · 258 阅读 · 0 评论 -
asp.net core 系列 15 中间件
一.概述 中间件(也叫中间件组件)是一种装配到应用管道以处理请求和响应的软件。每个组件:(1)选择是否将请求传递到管道中的下一个组件;(2)可以在管道中的下一个组件之前和之后执行工作。 请求委托用于生成请求管道。请求委托会处理每个 HTTP 请求。使用以下方法配置请求委托:Run, Map, Use扩展方法。可以将单个请求委托作为匿名方法(称为内联中间件in-line middle...原创 2019-01-24 10:26:00 · 100 阅读 · 0 评论 -
asp.net core 系列 14 错误处理
一.概述 本文介绍处理 ASP.NET Core 应用中常见错误的一些方法。主要是关于:开发环境异常页;非开发环境配置自定义异常处理页;配置状态代码页(没有正文响应,http状态400~599的)。 1.1开发环境异常页 要将应用配置为显示有关异常的详细信息的页面,请使用开发环境异常页。要环境设置为Development,具体查看:asp.net core系列9环境。下面向...原创 2019-01-23 09:17:00 · 323 阅读 · 0 评论 -
asp.net core 系列 13 日志
一.概述 ASP.NET Core 支持适用于各种内置和第三方日志记录, 供程序的日志记录 API,本文介绍了如何将日志记录 API 与内置提供程序一起使用。对于第三方日志记录提供程序使用,文章最后有链接。 1.1 添加内置日志提供程序 日志记录提供程序能够用于显示日志信息或存储日志,比如控制台提供程序在控制台上显示日志,Azure Application Insights 提供...原创 2019-01-22 09:44:00 · 66 阅读 · 0 评论 -
asp.net core 系列 12 选项 TOptions
一.概述 本章讲的选项模式是对Configuration配置的功能扩展。讲这篇时有个专用名词叫“选项类(TOptions)” 。该选项类作用是指:把选项类中的属性与配置来源中的键关联起来。举个例,假设json文件有个Option1键,选项类中也有个叫Option1的属性名,经过选项配置,这样就能把json中的键的值映射到选项类属性值中。也可以理解在项目应用中,把一个json文件序列化到.n...原创 2019-01-21 11:47:00 · 43 阅读 · 0 评论 -
asp.net core 系列 11 配置configuration (下)
四. 文件配置提供程序AddIniFile、 AddXmlFile、AddJsonFile FileConfigurationProvider 是从文件系统加载配置的基类。 以下配置提供程序专用于特定文件类型: (1) INI 配置提供程序 IniConfigurationProvider: FileConfigurationProvider (2) JSON 配置提供程序 ...原创 2019-01-18 14:06:00 · 65 阅读 · 0 评论 -
asp.net core 系列 10 配置configuration (上)
一.ASP.NET Core 中的配置概述 ASP.NET Core 中的应用配置是基于键值对,由configuration 程序提供。 configuration 将从各种配置源提供程序操作键值对,这些配置源可以是: (1) Azure Key Vault(是基于云的服务的安全存储应用机密) (2) 命令行参数 (3)(已安装或已创建的)自定义提供程序(自定义...原创 2019-01-17 17:39:00 · 363 阅读 · 0 评论 -
asp.net core 系列 9 三种运行环境和IIS发布
一.在asp.net core中使用多个环境 ASP.NET Core 配置是基于运行时环境, 使用环境变量。ASP.NET Core 在应用启动时读取环境变量ASPNETCORE_ENVIRONMENT,并将该值存储在 IHostingEnvironment.EnvironmentName 中。ASPNETCORE_ENVIRONMENT 可设置为任意值,但框架支持三个值:Developm...原创 2019-01-16 15:00:00 · 654 阅读 · 0 评论 -
asp.net core 系列 8 Razor框架路由(下)
三.页面路由操作约定 接着上篇讲asp.net core 系列 7 Razor框架路由。在上篇继续第三节 "页面路由操作约定" 的最后一小节 AddPageRoute。 3.3. 配置页面路由AddPageRoute 使用 AddPageRoute 配置路由,该路由与指定页面关联, 使用指定的路由生成页面链接。 AddPageRoute 使用 AddPageRouteMode...原创 2019-01-15 16:47:00 · 197 阅读 · 0 评论 -
asp.net core 系列 7 Razor框架路由(上)
一.概述 在上二篇中,主要是介绍了asp.net core mvc中路由的使用,这篇继续介绍路由在ASP.NET Core Razor中的使用。Razor Pages应该使用默认的传统路由,从应用程序的Pages文件夹中提供命令资源。还可以使用其他约定来自定义 Razor Pages 路由行为。 在ASP.NET Core MVC 中是使用路由中间件来匹配传入请求的 URL 并将它们映射...原创 2019-01-14 11:13:00 · 232 阅读 · 0 评论 -
asp.net core 系列 6 MVC框架路由(下)
一.URL 生成 接着上篇讲MVC的路由,MVC 应用程序可以使用路由的 URL 生成功能,生成指向操作的 URL 链接。生成 URL 可消除硬编码 URL,使代码更稳定、更易维护。此部分重点介绍 MVC 提供的 URL 生成功能,并且仅涵盖 URL 生成工作原理的基础知识。IUrlHelper接口用于生成 URL,是 MVC 与路由之间的基础结构的基础部分。在控制器、视图和视图组...原创 2019-01-11 10:11:00 · 332 阅读 · 0 评论 -
asp.net core 系列 5 MVC框架路由(上)
一. 概述 介绍asp.net core路由时,我初步想了下,分几篇来说明。 路由的知识点很多,参考了官方文档提取出一些重要的知识点来说。 在ASP.NET Core中是使用路由中间件来匹配传入请求的 URL 并将它们映射到操作(action方法)。路由是在程序启动时进行传统路由或属性路由定义。路由描述如何将 URL 路径与操作相匹配。它还用于在响应中生成送出的 URL(用于链接...原创 2019-01-09 17:25:00 · 196 阅读 · 0 评论 -
asp.net core 系列 4 注入服务的生存期
一.服务的生存期 在容器中每个注册的服务,根据程序应用需求都可以选择合适的服务生存期,ASP.NET Core 服务有三种生存期配置: (1) Transient:暂时生存期,在每次请求时被创建。这种生存期适合轻量级的,无状态的服务。 (2) Scoped: 作用域生存期,在每次请求被创建一次。 (3) Singleton: 单例生存期,在它们第一次被请求时创建。每...原创 2019-01-08 10:47:00 · 47 阅读 · 0 评论 -
asp.net core 系列 3 依赖注入服务
一. 依赖注入概述 在软件设计的通用原则中,SOLID是非常流行的缩略语,它由5个设计原则的首字母构成:单一原则(S)、开放封闭原则(O)、里氏替换原则(L)、接口分离原则(I)、依赖反转原则(D)。本篇介绍依赖反转原则以及在ASP.NET Core中的实现。 直接依赖是指:当一个类需要另一个类协作来完成工作的时候就产生了依赖。举例比如:模块 A 调用模块 B 中的函数,而模块 B 又调...原创 2019-01-06 11:36:00 · 84 阅读 · 0 评论 -
asp.net core 系列 2 启动Startup类介绍
一.Startup类 ASP.NET Core 应用是一个控制台应用,它在其Program.Main方法中创建 Web 服务器。其中Main方法是应用的托管入口点,Main 方法调用 WebHost.CreateDefaultBuilder来创建 Web 主机,自动分配了 Kestrel Web 服务器。IWebHostBuilder 的 Build 方法生成 IWebHost对象调用R...原创 2019-01-05 13:57:00 · 213 阅读 · 0 评论 -
asp.net core 系列 1 概述
一. 概述 ASP.NET Core 是一个跨平台的高性能开源框架,可以用来:建置 Web 应用程序和服务、IoT应用和移动后端、在 Windows macOS 和 Linux 上使用喜爱的开发工具、部署到云或本地、NET Core 或 .NET Framework 上运行。 ASP.NET Core可以面向 .NET Core 或 .NET Framework。面向 .NET ...原创 2019-01-02 13:49:00 · 67 阅读 · 0 评论 -
asp.net core 系列 18 web服务器实现
一.ASP.NET Core Module 在介绍ASP.NET Core Web实现之前,先来了解下ASP.NET Core Module。该模块是插入 IIS 管道的本机 IIS 模块(本机是指程序所部署的服务器)。是基于windows平台处理 IIS和进程内IISHttpServer或Kestrel。用于: (1) 在 IIS 工作进程 (w3wp.exe) 内托管 ASP.NE...原创 2019-01-29 09:17:00 · 257 阅读 · 1 评论 -
asp.net core 系列 19 EFCore介绍
一.概述 目前最新的EF Core版本是3.0,最稳定的EF Core版本是2.2。EF Core 的计划与 .NET Core以及 ASP.NET Core 版本同步。EF Core 是一个 .NET Standard库,使用 EF Core 开发面向 .NET Core 的应用。生成 .NET Core 应用需要安装 .NET Core SDK。最后,不同的EF 数据库提供程序使用可能需...原创 2019-01-30 09:42:00 · 135 阅读 · 0 评论 -
asp.net core 系列 20 EF基于数据模型创建数据库
一.概述 本章使用 Entity Framework Core 构建执行基本数据访问的 ASP.NET Core MVC 应用程序。使用迁移(migrations)基于数据模型创建数据库,是一种code first模式。可以在Windows 上使用 Visual Studio 2017,或在 Windows、macOS 或 Linux 上使用 .NET Core CLI 来学习。已经安装了N...原创 2019-02-12 09:43:00 · 373 阅读 · 0 评论 -
asp.net core 系列 21 EF现有数据库进行反向工程
一.概述 在上篇中使用EF基于数据模型创建数据库, 本篇继续使用 EF 基于数据库创建数据模型。 实现对已有数据库进行反向工程,来构建数据访问的 ASP.NET Core MVC 应用程序。已有数据库使用上篇的EFGetStarted.AspNetCore.NewDb库。这里还是使用Visual Studio 2017和sql server 2012来演示。 1.1 创建新项目...原创 2019-02-13 09:32:00 · 158 阅读 · 0 评论 -
asp.net core 系列 22 EF(连接字符串,连接复原,DbContext)
一.连接字符串 在上二篇中,ASP.NET Core 应用程序连接字符串是写死在ConfigureServices代码中,下面介绍通过配置来实现。连接字符串可以存储在appsettings.json、用户机密存储、其他配置源中。下面示例演示appsettings.json中存储的连接字符串,这样不管asp.net core在什么环境(Development、Staging 、Produ...原创 2019-02-14 09:47:00 · 287 阅读 · 0 评论 -
asp.net core系列 23 EF模型配置(概述, 类型和属性的包含与排除)
一.模型配置概述 EF使用一组约定基于实体类的定义来构建模型。可指定其他配置以补充或替代约定的内容。本系列介绍的配置可应用于面向任何数据存储的模型,以及面向任意关系数据库时可应用的配置。 数据库提供程序还可支持特定于具体数据存储的配置,如Microsoft.EntityFrameworkCore.SqlServer,Pomelo.EntityFrameworkCore.MySql 等,...原创 2019-02-15 09:25:00 · 72 阅读 · 0 评论 -
asp.net core系列 24 EF模型配置(主键,生成值,最大长度,并发标记)
一.主键 键用作每个实体实例的主要唯一标识符。使用关系数据库时,这会映射到主键的概念。还可以配置不是主键的唯一标识符。按照约定,名为Id或<type name>Id的属性会配置为实体的键。例如下面二个示例:class Car{ //映射到Car表 Id主键 public string Id { get; set; }}class Car{...原创 2019-02-16 09:49:00 · 430 阅读 · 0 评论 -
asp.net core系列 25 EF模型配置(隐藏属性)
一. 隐藏属性概述 隐藏属性也叫影子属性,该属性不是在.net实体类中定义的属性,而是在EFCore模型中为该实体类型定义的属性。这些属性的值和状态完全在变更跟踪器中维护。它有二个功能:(1)当数据库中某些字段不想映射到实体类上公开的属性时,隐藏属性非常有用。(2)隐藏属性通常是用于外键属性,其中两个实体之间的关系由数据库中的外键值表示,但是两个实体关系是使用实体类型之间的导航属性进行管理(...原创 2019-02-17 11:19:00 · 112 阅读 · 0 评论 -
asp.net core系列 26 EF模型配置(实体关系)
一.概述 EF实体关系定义了两个实体互相关联起来(主体实体和依赖实体的关系,对应数据库中主表和子表关系)。在关系型数据库中,这种表示是通过外键约束来体现。本篇主要讲一对多的关系。先了解下描述关系的术语。 (1) 依赖实体:这是包含外键属性的实体(子表)。有时称为 child。 (2) 主体实体:这是包含主/备用键属性的实体(主表)。有时称为 parent。 (3) 外键...原创 2019-02-18 15:18:00 · 131 阅读 · 0 评论 -
asp.net core系列 27 EF模型配置(索引,备用键,继承)
一.索引 索引是许多数据存储中的常见概念。虽然它们在数据存储中的实现可能会有所不同,但它们可用于更有效地基于列(或列集)进行查找。按照约定,用作外键每个属性 (或组的属性) 会自动创建索引。无法使用数据注释创建索引。 1.1 非唯一索引 Fluent API 在单个属性上指定索引。默认情况下,索引是非唯一的。如下代码示例在Blogs表上创建Url列索引:class MyCon...原创 2019-02-19 12:29:00 · 368 阅读 · 0 评论 -
asp.net core系列 28 EF模型配置(字段,构造函数,拥有实体类型)
一. 支持字段 EF允许读取或写入字段而不是一个属性。在使用实体类时,用面向对象的封装来限制或增强应用程序代码对数据访问的语义时,这可能很有用。无法使用数据注释配置。除了约定,还可以使用Fluent API为属性配置支持字段。 1.1 约定public class Blog{ // _<camel-cased property name> p...原创 2019-02-20 17:47:00 · 252 阅读 · 0 评论 -
asp.net core系列 29 EF模型配置(查询类型,关系数据库建模)
一.查询类型 此功能是EF Core 2.1中的新功能。 EF Core除了实体类型之外,EF Core模型还可以包含查询类型,这些查询类型是针对“未映射到实体类型”的数据获取。比如视图,或只读数据表。 1.1 下面介绍下,查询类型与实体类型共同与不同点: (1) 可以在OnModelCreating中或通过派生DbContext上的“set”属性添加到EF Core模型中。 ...原创 2019-02-21 17:39:00 · 202 阅读 · 0 评论 -
asp.net core系列 30 EF管理数据库架构--必备知识 迁移
一.管理数据库架构概述 EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步。一是以 EF Core 模型为基准,二是以数据库为基准。 (1)如果希望以 EF Core 模型为准,请使用迁移。 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容。...原创 2019-02-22 16:19:00 · 236 阅读 · 0 评论 -
asp.net core系列 31 EF管理数据库架构--必备知识 反向工程
一. 反向工程 反向工程是基于数据库架构,生成的实体类和DbContext类代码的过程,对于Visual Studio开发,建议使用PMC。对于其他开发环境,请选择.NET Core CLI工具(跨平台)。 (1)在程序包管理器控制台(PMC)工具中使用命令Scaffold-DbContext 来进行反向工程。 (2)在.NET 命令行接口 (CLI) 工具中使用do...原创 2019-02-25 13:57:00 · 581 阅读 · 0 评论 -
asp.net core系列 32 EF查询数据 必备知识(1)
一.查询的工作原理 Entity Framework Core 使用语言集成查询 (LINQ) 来查询数据库中的数据。通过 LINQ 可使用 C#(或你选择的其他 .NET 语言)基于派生上下文和实体类编写强类型查询。LINQ 查询的表示形式会传递给数据库提供程序,进而转换为特定的数据库查询语言(例如,适用于关系数据库的 SQL)。 1.1 查询的生命周期, 下面是每个查询所经历的过...原创 2019-02-26 16:22:00 · 246 阅读 · 0 评论 -
asp.net core系列 33 EF查询数据 (2)
一. 原生SQL查询 接着上篇讲。通过 Entity Framework Core 可以在使用关系数据库时下降到原始 SQL 查询。在无法使用 LINQ 表达要执行的查询时,或因使用 LINQ 查询而导致低效的 SQL 查询时非常有用。 原始 SQL 查询可返回实体类型,或者从 EF Core 2.1 开始,可返回模型中的查询类型。 1.1 基本的原始SQL查询 ...原创 2019-02-27 16:09:00 · 269 阅读 · 0 评论 -
asp.net core系列 34 EF保存数据(1)
一. 基本数据 每个EF上下文实例都有一个ChangeTracker(更改跟踪器),它负责跟踪需要写入数据库的更改。当更改实体类的实例时(修改属性,删除实例,新建实例等),这些更改会记录在ChangeTracker中,然后在调用SaveChanges时被写入数据库。此数据库提供程序负责将更改,转换为特定的数据库操作(例如,关系数据库的INSERT、UPDATE和DELET...原创 2019-02-28 16:00:00 · 273 阅读 · 0 评论 -
asp.net core系列 37 WebAPI 使用OpenAPI (swagger)中间件
一.概述 在使用Web API时,对于开发人员来说,了解其各种方法可能是一项挑战。在ASP.NET Core上,Web api 辅助工具介绍二个中间件,包括:Swashbuckle和NSwag .NET。本篇先讲Swashbuckle。二者都使用Swagger规范,Swagger也称为OpenAPI,解决了为Web API生成有用文档和帮助页面的问题。它提供了诸如交互式文档,客户端SDK生成...原创 2019-03-05 11:24:00 · 526 阅读 · 0 评论 -
asp.net core系列 36 WebAPI 搭建详细示例
一.概述 HTTP不仅仅用于提供网页。HTTP也是构建公开服务和数据的API强大平台。HTTP简单灵活且无处不在。几乎任何你能想到的平台都有一个HTTP库,因此HTTP服务可以覆盖广泛的客户端,包括浏览器,移动设备和传统的桌面应用程序。 ASP.NET Web API 是一个框架,基于.NET Framework 或.NET Core 之上构建 Web API。 从本章开始学习Web...原创 2019-03-04 11:47:00 · 531 阅读 · 0 评论 -
asp.net core系列 35 EF保存数据(2) -- EF系列结束
一.事务 (1) 事务接着上篇继续讲完。如果使用了多种数据访问技术,来访问关系型数据库,则可能希望在这些不同技术所执行的操作之间共享事务。下面示例显示了如何在同一事务中执行 ADO.NET SqlClient 操作和 Entity Framework Core 操作。 using (var connection = new SqlConnection(connectionString))...原创 2019-03-01 11:54:00 · 94 阅读 · 0 评论 -
asp.net core系列 46 Identity介绍
一. Identity 介绍 ASP.NET Core Identity是一个会员系统,可为ASP.NET Core应用程序添加登录功能。可以使用SQL Server数据库配置身份以存储用户名,密码和配置文件数据。或者,可以使用另一个持久性存储,例如,Azure表存储。下面学习如何使用Identity注册,登录以及基架标识。 1.1 Identity搭建演示 下面使用vs 201...原创 2019-03-21 17:00:00 · 387 阅读 · 1 评论 -
asp.net core系列 45 Web应用 模型绑定和验证
一. 模型绑定 ASP.NET Core MVC 中的模型绑定,是将 HTTP 请求中的数据映射到action方法参数。这些参数可能是简单类型的参数,如字符串、整数或浮点数,也可能是复杂类型的参数。当 MVC 收到 HTTP 请求时,它会将此请求路由定位到控制器的指定action方法。默认路由模板为{controller=Home}/{action=Index}/{id?} ...原创 2019-03-20 10:43:00 · 205 阅读 · 0 评论 -
asp.net core系列 44 Web应用 布局
一.概述 MVC的视图与Razor页面经常共享视觉和程序元素,通过使用布局来完成,布局还可减少重复代码。本章演示了以下内容的操作方法:(1)使用通用布局,(2)自定义布局,(3) 共享指令,(4)在呈现Razor页面或MVC视图之前运行通用代码。 大多数 Web 应用都有一个通用布局,可在页面间切换时,为用户提供一致体验。布局通常包括应用页头、导航或菜单、页脚等常见的用户界面元素,还有...原创 2019-03-19 09:05:00 · 171 阅读 · 1 评论