NETCORE - 技术教程文章

Skywalking部署+NetCore客户端【代码】【图】

一、介绍应用官方的说法:Apache SkyWalking是观察性分析平台和应用性能管理系统。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案GitHub地址:https://github.com/apache/skywalking二、准备工作Skywalking的架构分成三大块:agent:探针,主要与我们的api或者app之类的集成在一起,用于收集上传客户端信息,然后发送到collector。oap: 主要用于收集agent发送过来的信息,并持久化到相应存储中ui:展示收集在存...

NetCore 统一处理 webapi 返回null 转为“”【代码】

原文:NetCore 统一处理 webapi 返回null 转为“”数据库中部分表字段允许空值,则代码中实体类对应的字段类型为可空类型Nullable<>,如int?,DateTime?,null值字段序列化返回的值都为null,前端对应字段赋值需要做null值判断,随想到全局把null替换为""网上找的方案都是重写了DefaultContractResolver,但是该方法只能解决string类型null→""的问题,对其他可空类型无效。研究了下git 上Newtonsoft.Json和.netcore MVC的源码最终使...

.netcore 文件上传转为base64位字符串【代码】【图】

.netcore文件上传Api接口,和正常的webForm提交类似,只是用postman测试接口时,记得给form表单命名,否则获取上传文件数量一直为0  后端代码using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using MyApiCommon;namespace MyApi.Controllers {[Route("api/[controller]")][ApiControlle...

Log4Net从Mvc转到NetCore【代码】【图】

原项目用的Log4Net,不过版本比较旧,在Core里新版也进行了支持,本文用的是现在最新版本2.0.81、LogHelper帮助类放另一个类库中 Log/LogHelper.cs2、单独建的配置文件放在主项目下,LogConfig/Log4Net.config具体位置如下图:LogHelper.cs内容升级版本后本来的LogManager.GetLogger()方法要指定Repository 看文章都是要CreateRepository一个.  private static readonly ILoggerRepository Repository = LogManager.CreateReposit...

从零开始在.NetCore3.1 Web项目中使用IOC【图】

前言  现在的编程世界中,IOC已经成为了标配,毕竟解耦对于代码开发和维护都提升了很大的效率;而.NetCore中就自带了IOC功能,下面记录一下.NetCore Web项目中IOC的使用及如何集成AutoFac; 环境开发环境: .NetCore3.1;注:需要安装对应的SDK版本;项目创建  1. 选择模板 -- ASP.NET Core Web应用程序;   2. 添加两个项目DotNetCoreBll 和 DotNetCoreDal ,选模板的时候选择 类库(.Net Core);  最终项目结构   加...

ASP.NETCore学习记录(一)【代码】

ASP.NETCore学习记录(一)asp.net core介绍 Startup.cs ConfigureServices Configure 0. ASP.NETCore 介绍ASP.NETCore是一个新的开源和跨平台的框架,用于构建如Web应用、物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序。ASP.NET Core应用可运行于.NET Core和完整的.NET Framework之上。构建它的目的是为那些部署在云端或者内部运行的应用提 供一个优化的开发框架。它由最小开销的模块化的组件构成,因此在...

.NetCore技术研究-ConfigurationManager在单元测试下的坑【图】

原文:.NetCore技术研究-ConfigurationManager在单元测试下的坑最近在将原有代码迁移.NET Core, 代码的迁移基本很快,当然也遇到了不少坑,重构了不少,后续逐步总结分享给大家。今天总结分享一下ConfigurationManager遇到的一个问题。先说一下场景: 迁移.NET Core后,已有的配置文件,我们希望做到兼容,比如说app.config和web.config, 这样配置文件尽可能地和.NET Framework是一套,尽可能低保持一致。比如:appSettings、自...

NetCore WebSocket 即时通讯示例【代码】【图】

1.新建Netcore Web项目 2.创建简易通讯协议 publicclass MsgTemplate{publicstring SenderID { get; set; }publicstring ReceiverID { get; set; }publicstring MessageType { get; set; }publicstring Content { get; set; }}SenderID发送者IDReceiverID 接受者IDMessageType 消息类型 Text Voice 等等Content 消息内容 3.添加中间件ChatWebSocketMiddleware 1publicclass ChatWebSocketMiddleware2 {3pr...

.NetCore 3.1和.NetCore 5.0 中WebApi的请求参数的验证方法【代码】【图】

我们在写WebApi时,一般都是要对接口的入参进行验证。若入参为一个实体,我们一般用注解的方式(DataAnnotations)+ModelState,或者FluentValidation来验证实体。这几种常用的方法我就不总结了,网上有一大堆。参考:https://www.cnblogs.com/lwqlun/p/10311945.htmlhttp://www.zyiz.net/tech/detail-200294.html 但是若接口的入参不是实体,我们该怎么校验呢?其实这种情况操作起来更简单,微软早就帮我们准备好方法了。也就是使用...

NETCORE - RabbitMQ的使用2

NETCORE - CAP的使用CAP 同时支持使用 RabbitMQ,Kafka,Azure Service Bus 等进行底层之间的消息发送。CAP 目前支持使用 Sql Server,MySql,PostgreSql,MongoDB 数据库的项目。 安装部署RabbbitMQ:https://www.cnblogs.com/1285026182YUAN/p/12896851.html 原文:https://www.cnblogs.com/1285026182YUAN/p/12943971.html

NetCore 阿里大于发送短信【代码】【图】

使用阿里大于API发送短信,但阿里没有提供NetCore 的API,自己看了下源码重写了发短信这个部分 publicclass MessageSender{privatereadonlystring _appKey;privatereadonlystring _appSecret;privatereadonlystring _serverUrl;public MessageSender(string url, string appKey, string appSecret){_serverUrl = url;_appKey = appKey;_appSecret = appSecret;}publicstring SmsType { get; set; } = "normal";publicstring SmsFree...

.netcore 的一些简单封装配置文件配置动态注入到ioc【代码】

场景一些配置需要经常用到可以尝试把配置配置到配置类中需要使用时只需要通过构造函数注入配置类即可。json文件结构示例 "SmsSetting": {//253"Host": "123","Account": "123","Password": "123","Sign": "123",//标签//梦网 "MonYunHost": "123","Userid": "123","Pwd": "123",//华为"HuaWeiHost": "123","AppKey": "123","AppSecret": "123",//app密钥"TemplateId": "123",//模板Id"Sender": "123",//短信通道"StatusCallBack"...

学习部署.netcore至linux到放弃 (一)【图】

一,安装虚拟机下载地址:VMware Workstation Pro 15.0.0 Build 10134415https://download3.vmware.com/software/wkst/file/VMware-workstation-full-15.0.0-10134415.exeVMware Workstation Pro 15 激活许可证UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA VF750-4MX5Q-488DQ-9WZE9-ZY2D6UU54R-FVD91-488PP-7NNGC-ZFAX6YC74H-FGF92-081VZ-R5QNG-P6RY4YC34H-6WWDK-085MQ-JYPNX-NZRA2 下一步下一步安装即可二,下载并安装CentOS可以去官网下载http...

Consul+Ocelot+Polly在.NetCore中使用(.NET5)-Consul服务注册,服务发现【代码】

环境 .NET5,Consul_v1.10.2一、简介在微服务中利用Consul可以实现服务的注册,服务发现,治理,健康检查等。 Web调站点需要调用多个服务,如果没有Consul,可能就是Web中存了全部服务的ip地址,如果其中一个服务更换了地址,web也要跟着修改配置,所以加入了Consul,web直接通过Consul就能一直取到各个服务的最新的地址了。二、Consul搭建这里使用Docker安装 ,确保安装了Docker,执行下面命令。docker run -d -p 8500:8500 --re...

DotnetCore安装介绍

微软的DotnetCore发布至今,已经有段时间了,我们都非常关注我们它能为我们带来什么,我们能通过它做什么?要解决这些问题,不仅仅需要基本的了解意外,还需要知道是开发环境是怎么搭建的,接下来我们就一起来学习下DotNetCore的环境的安装。  首先分为Window平台以及Linux平台还有Mac平台,因暂无Mac机子,未做实际实验,因此不在本文的关注中。  我们首先看看Win7以及Win7以上的Win系统下面的安装过程。我们来看基于VS环境Vs...

Docker在Linux上运行NetCore系列(五)更新应用程序【图】

原文:Docker在Linux上运行NetCore系列(五)更新应用程序转发请注明此文章作者与路径,请尊重原著,违者必究。 本篇文章与其它系列文章不同,为了方便测试,新建了一个ASP.Net Core视图应用。 备注:下面说的应用,只是在容器中运行的应用程序。 查看现在运行的应用 容器中已经运行了一个应用testaspnetcoredockerlinuxname,版本是1.0。我们下面查看一下已经在运行中的应用。 输入命令【sudo docker ps】可以...

.NetCore借助AutoMapper实现全局数据字段按角色过滤【代码】

最近在开发框架中的数据字段权限控制功能,也就是设定某角色是否可以查看数据表中的某个字段(敏感信息),过程比较曲折,在此记录一下。 一般来说,权限控制可以分为:全局>租户>租户角色>数据表>按条件查询后的数据表完整数据> 数据表中某些数据字段,其中过滤数据表数据字段应该是粒度很细的控制了。 由于框架使用的EFCore2.1,本来想使用EFCore来实现,尝试了Entity<实体模型类>.Ignore(字段)的方法,结果无效,因...

Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)【代码】

原文:Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一)接上一篇3. Nginx配置反向代理3.1 cnetos 安装nginx首先,我们需要在服务器上安装Nginx。参考网址3.1.1:添加Nginx存储库要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令:sudo yum install epel-releaseEPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 ...

netcore使用IOptions【代码】

{"Logging": {"LogLevel": {"Default": "Information","Microsoft": "Warning","Microsoft.Hosting.Lifetime": "Information"}},"AllowedHosts": "*","HC": {"Redis": {"aa": "1"},"DB": {"bb": 2}} }appsettingservices.Configure<Test>(Configuration.GetSection("HC"));ConfigureServicespublicclass Test{public Redis Redis { get; set; }public DB DB { get; set; }}publicclass Redis{publicstring aa { get; set; }}public...

用 Jenkins + .netcore 2.0 构建

上一篇是关于 .net framework 框架的, 今天是关于 .netcore 2.0 的这里为大家分享 配置中踩到的坑 cd %WORKSPACE%\"需要还原的项目目录"dotnet restore --configfile NuGet.Config 这句是关键, vs2017 会默认读取该文件,,但是 命令必须指定!!!dotnet build --framework netcoreapp2.0 --configuration Release --output bin\Releasedotnet publish --configuration Release --output "输出目录" 原文:https://www.cnblogs.com/...

NETCore项目报错 An error occurred while starting the application【代码】

部署项目到IIS,运行时报错误: An error occurred while starting the application 打开web.config找到stdoutLogEnabled="false",把该值改为true,即->stdoutLogEnabled="true"<?xml version="1.0" encoding="utf-8"?><configuration><location path="." inheritInChildApplications="false"><system.webServer><handlers><add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified"/><...

[译]使用DOT语言和GraphvizOnline来可视化你的ASP.NETCore3.0终结点01【代码】【图】

这是系列文章中的第一篇:使用GraphvizOnline可视化ASP.NETCore3.0终结点。.第1部分-使用DOT语言来可视化你的ASP.NETCore3.0终结点(本文)第2部分-向ASP.NET Core应用程序添加终结点图第3部分-使用ImpromptuInterface创建一个自定义的DfaGraphWriter,以便于反射作者:依乐祝 原文:https://andrewlock.net/visualizing-asp-net-core-endpoints-using-graphvizonline-and-the-dot-language/ 译文:https://www.cnblogs.com/yilezhu/...

NETCore JSON字符串快速转换为类文件【代码】【图】

1.复制 JSON对象字符串{"Name": "Robot","Sex": "Man","Describe": "aaa - JsConfig","Message": "Hello World - JsConfig - 啊!" }2.在 cs后缀类文件 中,点击 编辑/选择性粘贴/将JSON粘贴为类 【如果不行可能是vs版本问题】 原文:https://www.cnblogs.com/Cailf/p/13125627.html

NetCore项目实战篇02---全局异常处理【代码】【图】

在 .netcore中可以自定义自己的异常类型,步骤如下:1、自定义自己的异常类型UserOperationException 并继承自Exceptionpublicclass UserOperationException:Exception{public UserOperationException() { }public UserOperationException(string message) : base(message) { }public UserOperationException(string message, Exception innerException) : base(message, innerException) { }}2、自定义自己的全局异常过滤器Global...

.NetCore,Asp.netCore 程序集注入Autofac【代码】【图】

概述? .NetCore 或者 Asp.netCore 内置DI框架的特点:? 1.不支持程序集注册:每增加一个服务,则需要一行代码进行注册。? 2.不支持属性注入:内置DI只支持构造函数注入,不支持属性注入(当然,构造函数注入为主流)。? 第三方DI框架Aufofac,很好的解决了上面的两个问题。当然,内置的DI,是使用第三方DI的基础,即第三方DI,是离不开内置DI的。一、.NetCore 使用 AutoFac第一步:添加Autofac从nuget 添加的程序集中可以看出,不...

.netcore3.1 添加AutoMapper自动映射【代码】【图】

在Nuget包管理中,搜索AutoMapper,添加引用创建配置属性管理类publicclass AutoMapperProfile : AutoMapper.Profile{public AutoMapperProfile(){//实体字段一致情况 <TSource, TDestination>CreateMap<SelfRequest,entity_self > ();}}在Startup.cs中的Service中注入服务//automapperservices.AddAutoMapper(c=>c.AddProfile(new AutoMapperProfile()));在controller类中,使用privatereadonly IMapper _mapper;public SelfContr...

netcore的dockerfile编写部分要注意的地方【代码】

这里天研究netcore3.1部署在docker中,期间遇见了很多坑,下面大概讲一下安装过程1.vs添加一个docker支持会生成一个dockerfile文件,但是那里面的代码很多如果你用打包到文件夹的方式的话我觉得是不需要的,所以对dockerfile文件修改如下:#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. FROM mcr.microsoft.com/dotnet/core/aspnet:3....

ASP.NET Core 源码阅读笔记(3) ---Microsoft.AspNetCore.Hosting【代码】

有关Hosting的基础知识 Hosting是一个非常重要,但又很难翻译成中文的概念。翻译成:寄宿,大概能勉强地传达它的意思。我们知道,有一些病毒离开了活体之后就会死亡,我们把那些活体称为病毒的宿主。把这种概念应用到托管程序上来,CLR不能单独存在,它必须依赖于某一个进程,我们把这种状况称之为:CLR必须寄宿于某一个进程中,而那个进程就是宿主。 ASP.NET Core的一个大的改变就是就是将Web应用程序改成了自寄宿(当然在W...

ubuntu上的安装.netcore2.1【代码】【图】

.net core 在ubuntu上安装比较容易,依次执行正面语句即可sudo apt-get install curl curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg sudo sh -c ‘echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > /etc/apt/sources.list.d/dotnetdev.list‘ sudo apt-get ins...

.netcore 3.1高性能微服务架构:为什么要采用.netcore3.1作为微服务技术栈

自动.netcore升级到3.0以后,.net圈子更活跃了,写博客的人也越来越多,很多人开通了公众号写文章;也有技术大牛神乘这波“红利”写书录视频教程等赚钱了。大公司也开始关注.net技术,采用.net作为技术栈的公司大部分都将项目升级到.netcore,以前从.net转Java的人也有部分回来了。总之,.netcore生态空前的变好了。所有.net的程序员们,建议直接学习.netcore新技术,不要在呆在.netframework技术里泥潭了。作为.net开发的老人,我...