【Amazing ASP.NET Core 2.0】教程文章相关的互联网学习教程文章

【ASP.NET Core】运行原理(1):创建WebHost【代码】

本系列将分析ASP.NET Core运行原理【ASP.NET Core】运行原理[1]:创建WebHost 【ASP.NET Core】运行原理[2]:启动WebHost 【ASP.NET Core】运行原理[3]:认证本节将分析WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build();代码。 源代码参考.NET Core 2.0.0WebHostBuilder WebHost Kestrel问题概要Hosting中有哪2个ServiceProvider,各自如何创建,以及有哪些ServiceCollection。 什么时候执行Startup的ConfigureServ...

[asp.net core 源码分析] 01 - Session【代码】【图】

1、Session文档介绍毋庸置疑学习.Net core最好的方法之一就是学习微软.Net core的官方文档;https://docs.microsoft.com/zh-cn/aspnet/core; .Net core Session的官方文档 https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/app-state .Net core Session Github源码 https://github.com/aspnet/Session2、Session简单应用 2.1、在Startup类的ConfigureServices方法中添加services.AddDistributedMemoryCache(); service...

asp.net core 源码下载以及build【图】

https://www.cnblogs.com/it-dennis/p/12467902.html 本篇已收录至 asp.net core 随笔系列 环境准备 vs 2019 .net core 3.0 sdk (x86/x64) .net core 3.0 running time (x86/x64) 下载源码 https://github.com/aspnet 代码分别在: https://github.com/aspnet/AspNetCore https://github.com/aspnet/Extensions 如果想看全部源码, 两套代码都必须下载, 但是不推荐使用 git 直接 clone, 因为 clone 下来的code虽然是最新的, 但是不是...

ASP.NET Core 微信支付(四)【支付通知(未按照官方步骤) APIV3】【代码】

官方文档支付通知API 参考资料netcore 中没有Request.InputStream 理论实战对于我来说,这个微信支付结果通知回调有两个难点。难点一一开始在想是怎么在.NET Core 下接受微信支付回调传递给我的数据,从参考资料中得到的解决方案就解决了这个难点。难点二如何验证签名。在我写代码的时候突然想到我为啥要验证签名,我直接解密微信支付回调的数据得到订单号,然后直接调用订单查询接口就可以了,这样就解决了难点二。 代码实战数据实...

ASP.NET Core 微信支付(三)【查询订单 APIV3】【代码】

官方参考资料查询订单 理论实战官方提供两种查询订单的方式,一种是根据商户自己生成的订单号查询,一种方式是根据微信生成的订单号查询。而我使用的就是第一种方式。调用微信支付的查询订单,需要生成签名,按照微信支付的接口规则构造http的header。生成签名可以参考我的文章:《ASP.NET Core 微信支付(一)【统一下单 APIV3】》、《ASP.NET Core 微信支付(二)【 发布到服务器上签名加密时报错:系统找不到指定的文件 APIV3】...

ASP.NET Core 微信支付(二)【 发布到服务器上签名加密时报错:系统找不到指定的文件 APIV3】【图】

参考资料   .Net微信支付退款操作“系统找不到指定的文件” 错误现象   微信支付(API v3)的统一下单接口和订单查询接口在本地调试成功,可以使用,但是发布到服务器上之后调用接口就python基础教程报错,错误内容:系统找不到指定的文件。 try catch之后发现错误发生在签名(参考ASP.NET Core 微信支付(一)【统一下单 APIV3】 )的代码中的privateKey变量赋值代码。 错误原因   通过参考资料分析是由c#教程于IIS程序加载...

《深入浅出ASP.NET Core》读书笔记(二)

2月19日学习记录: NotImplementedException() : 没有实现时抛出异常 Model: 包含一组数据的类和管理该数据的逻辑信息 Repository: 负责逻辑和保存数据库,仓储模式 Interface: 接口在这里主要负责依赖注入,实现低耦合 services.AddMvc(config => config.EnableEndpointRouting = false); 注册MVC服务,核心方法是AddMvcCore,可参考asp.net core源代码 EnableEndpointRouting: 禁用EndPointRouting,使用MVC自带路由 app.UseMvcW...

【asp.net core 系列】15 自定义Identity【图】

0. 前言在之前的文章中简单介绍了一下asp.net core中的Identity,这篇文章将继续针对Identity进行进一步的展开。1. 给Identity添加额外的信息在《【asp.net core 系列】13 Identity 身份验证入门》一文中,我们大概了解了如何使用Identity,以及如何保存一些信息以便后续的验证。这里我们将深入讨论一下如何给Identity添加更多的信息。我们知道在给Identity添加数据的时候,需要添加一个Claim对象。我们先回顾一下Claim的信息,Cla...

【asp.net core 系列】14 .net core 中的IOC【图】

0.前言通过前面几篇,我们了解到了如何实现项目的基本架构:数据源、路由设置、加密以及身份验证。那么在实现的时候,我们还会遇到这样的一个问题:当我们业务类和数据源越来越多的时候,我们无法通过普通的构造对象的方法为每个实例进行赋值。同时,传统意义上的赋值遇到底层切换或者其他修改的时候,就需要修改大量的代码,对改变不友好。为了改变这种现状,我们基于面向接口编程,然后使用一些DI功能和IOC框架。1. IOC和DI先来给...

【asp.net core 系列】13 Identity 身份验证入门【图】

0. 前言通过前两篇我们实现了如何在Service层如何访问数据,以及如何运用简单的加密算法对数据加密。这一篇我们将探索如何实现asp.net core的身份验证。1. 身份验证asp.net core的身份验证有 JwtBearer和Cookie两种常见的模式,在这一篇我们将启用Cookie作为身份信息的保存。那么,我们如何启用呢?在Startup.cs 的ConfigureServices(IServiceCollection services) 方法里添加如下:services.AddAuthentication(CookieAuthenticati...

【asp.net core 系列】12 数据加密算法【图】

0. 前言这一篇我们将介绍一下.net core 的加密和解密。在Web应用程序中,用户的密码会使用MD5值作为密码数据存储起来。而在其他的情况下,也会使用加密和解密的功能。常见的加密算法分为对称加密和非对称加密。所谓的对称加密是指加密密钥和解密密钥是同一个,非对称加密是指加密密钥和解密密钥不同。而我们常应用在保存用户登录密码这个过程中的MD5本质上并不是加密算法,而是一种信息摘要算法。不过MD5尽量保证了每个字符串最后计...

【asp.net core 系列】- 11 Service层的实现样板【图】

0.前言在《asp.net core 系列》之实战系列中,我们在之前的篇幅中对项目有了一个大概的认知,也搭建了一个基础的项目骨架。那么就让我们继续完善这个骨架,让它更加丰满。这一篇,我将带领小伙伴们一起实现用户管理功能。1. 数据表一般情况下,我们会把用户表和登录信息表放在两个表里。为什么会这样设计呢?出于以下几种考虑:使功能分割,用户信息管理是用户管理,登录是登录增加安全,降低无关信息的查询,例如访问登录接口不会...

【asp.net core 系列】10 实战之ActionFilter【图】

0.前言在上一篇中,我们提到了如何创建一个UnitOfWork并通过ActionFilter设置启用。这一篇我们将简单介绍一下ActionFilter以及如何利用ActionFilter,顺便补齐一下上一篇的工具类。1. ActionFilter 介绍ActionFilter全称是ActionFilterAttribute,我们根据微软的命名规范可以看出这是一个特性类,看一下它的声明:[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)]pub...

【asp.net core 系列】9 实战之 UnitOfWork以及自定义代码生成【图】

0. 前言在前一篇中我们创建了一个基于EF的数据查询接口实现基类,这一篇我将带领大家讲一下为这EF补充一些功能,并且提供一个解决避免写大量配置类的方案。1. SaveChanges的外移在之前介绍EF Core的时候,我们提到过使用EF需要在每次使用之后,调用一次SaveChanges将数据提交给数据库。在实际开发中,我们不能添加一条数据或者做一次修改就调用一次SaveChanges,这完全不现实。因为每次调用SaveChanges是EF向数据库提交变更的时候,...

【asp.net core 系列】8 实战之 利用 EF Core 完成数据操作层的实现【图】

0. 前言通过前两篇,我们创建了一个项目,并规定了一个基本的数据层访问接口。这一篇,我们将以EF Core为例演示一下数据层访问接口如何实现,以及实现中需要注意的地方。1. 添加EF Core先在数据层实现层引入 EF Core:cd Domain.Implementsdotnet add package Microsoft.EntityFrameworkCore当前项目以SqlLite为例,所以再添加一个SqlLite数据库驱动:dotnet add package Microsoft.EntityFrameworkCore.SQLite删除 Domain.Impleme...