MediatR 框架使用FluentValidation对Comand/Query进行自动拦截验证 在使用 MediatR 框架时,我们经常需要对命令对象进行验证。为了实现自动验证,我们可以使用 MediatR 的管道行为来在命令处理之前执行验证逻辑。本文档将介绍如何在控制器外部使用 MediatR 的管道行为来自动验证实现了 ICommand/IRequest 接口的类,并提供正确地注册验证器和管道行为的方法。我们需要定义一个实现了 ICommand 接口的命令类。这个命令类将在 MediatR 管道中被自动验证
net core 批量注入(DependencyInjection) net core 使用微软默认的依赖注入:Microsoft.Extensions.DependencyInjection。1、声明IServiceCollection扩展。2.在program中添加扩展。
net core 添加 xunit单元测试 1. 在api.test程序集中添加NuGet测试包引用: Microsoft.AspNetCore.Mvc.Testing。3.在api.test程序集中声明测试类(不需在测试和程序集中配置appsettings,和program.cs)2. 在api.test程序集中添加api程序集项目引用。4.Program”不可访问,因为它具有一定的保护级别, 解决方案。在项目中添加XUnit测试项目。
数据仓库基础 数据仓库是什么 数仓是一个面向主题的(Subject Oriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。主题是从管理运营角度出发,为了分析数据,分为用户主题、商品主题、设备主题等有助于决策的数据模型。随着互联网的发展,数据源头越来越多且是分散的,除了业务库,APP 埋点,web 网站、 log日志,IOT 设备等会产生各种各样的海量数据,这些数据在进入数据仓库之前(或之后),需要...
sonarQube安装及本机扫描C#项目 sonarQube安装及本机扫描C#项目因项目需要,需要使用sonarQube对代码进行扫描并查看,因对sonarQube不熟悉,所以先在本机搭建测试环境。参考了张老师的博客:集成TFS Build生成与SonarQube获取代码分析结果 - danzhang - 博客园参考百度文库文章:百度文库-信息提示运行sonarQube之前,需要本机已经安装JDK及mysqlJDK:因为sonarQube是使用Java开发的,那么相应的肯定需要有JDK运行环境。安装步骤请参考《JDK Windo
Asp.Net MVC添加Swagger接口文档方法 公司最近的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。这个过程中遇到一个问题后台开发人员怎么提供接口说明文档给前端开发人员,之前一直使用的是word文档方式进行交流,效率低下而且不利于维护。为了解决这个问题,经过一番研究,引起我注意的有两种方案。1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”)最先尝试的是微软自带的方案,由于界面实在是比较一般,于是转向了第二种方案,经过...
c# 操作 XML 教程 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。微软也提供了一系列类库来倒帮助我们在应用程序中存储XML文件。 “在程序中访问进...
windows环境下Yapi安装(接口文档) 一、YAPI是什么YAPI简介二、Yapi的安装准备1.安装node.js ,下载地址:http://nodejs.cn/download/2.安装mongoDB下载地址:https://www.mongodb.com/try/download/community安装方法:https://blog.csdn.net/hezheqiang/article/details/115723662创建数据库相关数据mongoshow dbsdb.creat...
Windows平台安装MongoDB教程 Windows平台安装MongoDB教程一、MongoDB简介MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组。MongoDB服务端可运行在Linux、Windows或mac o...
C# 使用NLog记录日志 NLog是一个后来发展起来的日志功能,比起Log4net要年轻许多,但是功能确实非常好用,并且配置简单。1、安装Nlog 和Nlog configuration点击安装下边的NLog.Config就行了,NLog会一起安装成功。2、配置文件安装完之后项目里边多了(nllog.config属性设置=》复制到生成目录:始终复制,生成操作:内容)配置内容写在这个里边。主要用到两个标签:Target:这...
OAuth2.0 第三方授权原理 一、OAuth2.0 为何物OAuth简单理解就是一种授权机制,它是在客户端和资源所有者之间的授权层,用来分离两种不同的角色。在资源所有者同意并向客户端颁发令牌后,客户端携带令牌可以访问资源所有者的资源。OAuth2.0是OAuth协议的一个版本,有2.0版本那就有1.0版本,有意思的是OAuth2.0却不向下兼容OAuth1.0,相当于废弃了1.0版本。举个小栗子解释一下什么是 OAuth 授权?在家肝文章饿了定了一个外卖,外卖小哥30秒火速到达了我家楼下,奈何有门禁进不来,可以...
C# 消息队列 RabbitMQ C# 消息队列 RabbitMQ1.引言RabbitMQ——Rabbit Message Queue的简写,但不能仅仅理解其为消息队列,消息代理更合适。RabbitMQ 是一个由 Erlang 语言开发的AMQP(高级消息队列协议)的开源实现,其内部结构如下:RabbitMQ作为一个消息代理,主要和消息打交道,负责接收并转发消息。RabbitMQ提供了可靠的消息机制、跟踪机制和灵活的消息路由,支持消息集群和分布式部署。适用于排队算法、秒杀活动、消息分发、异步处理、数据同步、处理耗
SQL语句性能优化 SQL语句性能优化1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。3,应尽量避免在 where 子句中使用!=或<>操作符, MySQL只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN...
WCF使用SVCUtil生成客户端代理类和配置文件 WCF中可以使用SVCUtil.exe生成客户端代理类和配置文件一、生成代理类文件在Visual Studio 2015中查找VS2015 开发人员命令提示,并以管理员身份打开 执行以下命令 SvcUtil.exe /out:D:clientCode.cs /config:D:app.config http://localhost:7526/WCF/Service/Service1.svc?wsdl说明:参数:“D:\ClientCode.cs...