在 ASP.NET Core Web API 集成测试一文中, 我介绍了ASP.NET Core Web API的集成测试. 在那里我使用了测试专用的Startup类, 里面的配置和开发时有一些区别, 例如里面去掉了用户身份验证相关的中间件.但是有些被测试的行为里面需要用到身份/授权信息.所以本文就介绍一下在API集成测试中发送请求时使用Bearer Token作为Authorization Header的情况. 集成测试中使用Bearer Token我这个项目里生产时使用的是Identity Server 4, 而进行集...
前言 Asp.Net Core Identity 是 Asp.Net Core 的重要组成部分,他为 Asp.Net Core 甚至其他 .Net Core 应用程序提供了一个简单易用且易于扩展的基础用户管理系统框架。它包含了基本的用户、角色、第三方登录、Claim等功能,使用 Identity Server 4 可以为其轻松扩展 OpenId connection 和 Oauth 2.0 相关功能。网上已经有大量相关文章介绍,不过这还不是 Asp.Net Core Identity 的全部,其中一个就是隐私数据保护。正文 ...
分享一篇文章,关于asp.net core中httpcontext的拓展。现在,试图围绕HttpContext.Current构建你的代码真的不是一个好主意,但是我想如果你正在迁移一个企业类型的应用程序,那么很多HttpContext.Current会围绕这个业务逻辑,它可能会提供一些暂时的缓解移植应用程序的条款。另外,在过去我已经写了一些我不一定认为是好主意的事情。我们现代的HttpContext.Current将依赖于从IHttpContextAccessor解析上下文,并且可能如下所示:na...
原文:ASP.NET Core 2 学习笔记(六)MVC ASP.NET Core MVC跟ASP.NET MVC观念是一致的,使用上也没有什么太大的变化。之前的ASP.NET MVC把MVC及Web API的套件分开,但在ASP.NET Core中MVC及Web API用的套件是相同的。本篇将介绍ASP.NET Core MVC设置方式。MVC 简介ASP.NET Core的MVC(Model-View-Controller)架构模式延续ASP.NET MVC,把网站分成三大元件Model、View及Controller,依赖关系如下图:Model负责数据处理,包含数据存取、...
问题来源于我写了一个接口,接口的返回类型是JsonResult,但是对接之后反应返回结果的首字母全小写了,后来查了写资料返现.net core 对json 的处理默认使用驼峰式,需要在ConfigureServices 方法中全局这只先不适用驼峰式处理 services.AddMvc().AddJsonOptions(options =>//数据格式首字母小写//options.JsonSerializerOptions.PropertyNamingPolicy =JsonNamingPolicy.CamelCase;//数据格式原样输出options.JsonSerializerOptio...
原文:ASP.NET Core技术研究-探秘依赖注入框架ASP.NET Core在底层内置了一个依赖注入框架,通过依赖注入的方式注册服务、提供服务。依赖注入不仅服务于ASP.NET Core自身,同时也是应用程序的服务提供者。毫不夸张的说,ASP.NET Core通过依赖注入实现了各种服务对象的注册和创建,同时也实现了面向抽象的编程模式和编程体验,提升了应用程序的扩展性。今天,我们普及一下ASP.NET Core中依赖注入的一些基本知识。一、服务的注册 我们...
1、新建Asp.net Core Web Mvc项目 2、Nuget包下载安装Grpc.Net.ClientGoogle.ProtoBufGrpc.Tools3、新建Protos文件夹,复制之前文章Grpc服务器的greet.proto文件syntax = "proto3";option csharp_namespace = "MyGrpcWeb";package MyGrpc;// The greeting service definition.service TestGrpc {// Sends a greeting rpc TestSay (TestRequest) returns (TestReply);rpc StreamingFromServer(ExampleRequest) returns (stream Ex...
第 6 章 事件溯源与 CQRS在本章,我们来了解一下随着云平台一同出现的设计模式我们先探讨事件溯源和命令查询职责分离(CQRS)背后的动机与哲学事件溯源简介事实由事件溯源而来我们大脑就是一种事件溯源系统,接收感官多种形式刺激,大脑负责对这些刺激进行合适排序,大约每隔几百毫秒,对刺激构成的流进行运算,而运算的结果,就是我们所说的事实事件溯源的定义传统应用中,状态由一系列零散的数据所管理,如果客户端向我们发送 PU...
原文:ASP.NET Core API 接收参数去掉烦人的 [FromBody] 在测试ASP.NET Core API 项目的时候,发现后台接口参数为类型对象,对于PostMan和Ajax的Post方法传Json数据都获取不到相应的值,后来在类型参数前面加了一个[FromBody]属性才获取到。但是我看微软官方文档演示代码中并没有添加[FromBody],难道是微软官方文档写错了,按道理应该不会。Google里看到一片篇文章里的一个细节,又追回微软官方文档发现可行,于是记下去掉这个烦人的...
原文:通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[上篇]《200行代码,7个对象——让你了解ASP.NET Core框架的本质》让很多读者对ASP.NET Core管道有了真实的了解。在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分析一下MVC框架的设计与实现原理,希望这篇文章能够满足你们的需求。在对本章内容展开介绍之前,顺便作一下广告:《ASP.NET Core 3框架揭秘》已经开始销售,现时5折优惠还有最后4天,有兴...
1.添加一下两个NuGet包log4netMicrosoft.Extensions.Logging.Log4Net.AspNetCore 2.添加log4net.Config<?xml version="1.0" encoding="utf-8"?><log4net><!-- Define some output appenders --><appender name="rollingAppender" type="log4net.Appender.RollingFileAppender"><file value="log\log.txt"/><!--追加日志内容--><appendToFile value="true"/><!--防止多线程时不能写Log,官方说线程非安全--><lockingModel type="lo...
ASP.NET Core 运行原理剖析1:初始化WebApp模版并运行核心框架ASP.NET Core APP 创建与运行总结之前两篇文章简析.NET Core 以及与 .NET Framework的关系和.NET Core的构成体系从总体上介绍.NET Core,接下来计划用一个系列对ASP.NET Core的运行原理进行剖析。ASP.NET Core 是新一代的 ASP.NET,早期称为 ASP.NET vNext,并且在推出初期命名为ASP.NET 5,但随着 .NET Core 的成熟,以及 ASP.NET 5的命名会使得外界将它视为 ASP.NET 的...
我们都知道在6月12日的时候微软发布了.NET Core 3.0的第6个预览版。针对.NET Core 3.0的发布我们国内的微软MVP-汪宇杰还发布的官翻版的博文进行了详细的介绍。具体的可以关注“汪宇杰博客”公众号,或者我的“DotNetCore实战”公众号然后在历史文章里面进行查阅。而我们这篇文章将会介绍本次更新中对ASP.NET Core和Blazor所做的更新。当然本文的大部分内容翻译自ASP.NET的首席项目经理Daniel Roth的介绍。注:英语能力好的可以直接...
https://github.com/aspnet/Logginghttps://docs.asp.net/en/latest/fundamentals/logging.htmlASP.NET Core 1.0提供了内置的日志模块,当然也可以使用自己喜爱日志框架。ProvidersCommunity projects adapt Microsoft.Extensions.Logging for use with different back-ends.Serilog - provider for the Serilog library elmah.io - provider for the elmah.io service Loggr - provider for the Loggr service NLog - provider fo...
知识点:1.Kestrel服务器启动并处理Http请求的过程。2.Startup的作用。 源码飘香: 总结:asp.net core将web开发拆分为多个独立的组件,大多以http中间件的形式添加到请求管线,也有一下作为基础组件(configution,options,logging等)提供。零零散散的二三十个框架吧,除了mvc(还有razor)和ef core是比较大型的框架,其他小框架都可以一遍博客讲完一个。后面三个大框架准备开单独的系列来细说。今晚就到此为止吧,如果大家有...