NETCORE - 技术教程文章

.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开发的老人,我...

在Ubuntu 18.04中安装.NetCore 3.1运行环境【代码】

权威的资料是微软官方的文档:在Ubuntu上安装.NET SDK或.NET运行时。1、准备工作(1) 添加Microsoft包签名密钥将Microsoft包签名密钥添加到受信任密钥列表,并添加包存储库。> wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb > sudo dpkg -i packages-microsoft-prod.deb(2) unable to resolve host address错误执行上面命令,会出现unable to resolve host...

.NetCore 简单的使用中间件

//定义中间件 app.Use(next => {   return new RequestDelegate(async c =>    {     await c.Response.WriteAsync("start-88888888888");     await next.Invoke(c);     await c.Response.WriteAsync("end-88888888888");   }); }); 中间件我们通常是把上面的方法给提出来并放在一个class类里面,并进一步使用扩展方...

AspNetCore微服务下的网关-Kong(一)【代码】【图】

Kong是Mashape开源的高性能高可用API网关和API服务管理层。它基于OpenResty,进行API管理,并提供了插件实现API的AOP。Kong在Mashape 管理了超过15,000 个API,为200,000开发者提供了每月数十亿的请求支持。本文将从架构、API管理、插件三个层面介绍Kong。架构按照康威定律,我们系统架构会拆的很散,系统由一堆服务组成,如下图所示: 库存服务、优惠券服务、价格服务时之前都会做一些特殊处理,如限流、黑白名单,日志、请求统计...

MSB3027 无法将“xxx\netcoreapp3.0\xxx.exe”复制到“xxx\netcoreapp3.0\xxx.exe”。超出了重试计数 10。失败。文件被“xxx (6424)”锁定。

问题描述:MSB3027 无法将“xxx\netcoreapp3.0\xxx.exe”复制到“xxx\netcoreapp3.0\xxx.exe”。超出了重试计数 10。失败。文件被“xxx (6424)”锁定。MSB3021 无法将文件“xxx\netcoreapp3.0\xxx.exe”复制到“xxx\netcoreapp3.0\xxx.exe”。文件“xxx\netcoreapp3.0\xxx.exe”正由另一进程使用,因此该进程无法访问此文件 推断原因:在运行xxx.exe时,还未运行起来,关掉了该运行,又点击了一次运行 解决办法:没有在任务管理器中...

.NetCore 下使用多个DbContext【代码】

一个项目中使用多个DbContext 或者种数据库的多个DbContext 业务需要单个DbContext使用不需要给出说明1、dotnet ef migrations add migrationname2、dotnet ef database update多个DbContext请使用如下命令指定dbcontext名称或者指定生成到目录1、 添加为dbcontextname 添加 migrations 到 pathdir目录下面,这里需要注意的是应用程序集目录问题 _migrationAssablyName,会决定生成migraions文件夹位置 dotnet ef migrations add m...

LindDotNetCore~Aspect面向方面编程【代码】

回到目录Aspect面向方面编程面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计、观点导向编程、剖面导向程序设计)是计算机科学中的一个术语,指一种程序设计范型。该范型以一种称为侧面(aspect,又译作方面)的语言构造为基础,侧面是一种新的模块化机制,用来描述分散在对象、类或函数中的横切关注点(crosscutting concern)。 侧面的概念源于对面向对象的程序设计的改进,但并不只限于此,它还...

iris(go)和.netcore的web速度测试和对比【代码】

近期在开发一个抢口罩的系统,类似于电商常见的秒杀系统。当时选型的的时候准备在netcore和golang之间选择一个作为系统的开发语言,网上的说法各异,有的说iris快,有的说.netcore快。于是决定自己做下测试。 iris在go的web开发框架中是非常流行的,它自己的介绍是最快的go语言web框架,这个肯定有一家之言的成分,但是说它是最快的go框架之一肯定没有问题。使用的iris的版本是12.1.8aspnetcore 就是微软在.netcore中开发的标准框架...

【aspnetcore】在filter中使用DI【代码】

学习和使用aspnetcore,必定绕不开注入,不得不说,这对我这种一直使用webform并且上了年纪的码农来说,真心的不轻松。这不,又遇到问题了:一个企业微信的项目,用户和部门信息使用redis存储,项目中引入IDistributedCache来获取redis中的数据,startup.cs 中注册redis缓存,NuGet中引入Microsoft.Extensions.Caching.Redisservices.AddDistributedRedisCache((options) => {options.Configuration = "127.0.0.1:6379"; });使用方...

LindDotNetCore~基于模块化注入的介绍【代码】

LindDotNetCore相关介绍相关模块全局都是依赖DI消息队列NoSqlCaching仓储服务总线Solr调度日志Asspect拦截组件UAA授权各种组件环境的搭建各模块单元测试编写DI统一战线LindDotNet框架同样采用了全局DI注入的方式来使用模块对象的,这种松耦合的设计对于单元测试 是很方便人。services.AddLog4Logger(o => { o.Log4ConfigFileName = "log4.config"; o.ProjectName = "test"; }); services.UseDapper(o => { o.ConnString = $"Data S...

.NetCore集成Dapr踩坑经历【代码】【图】

该篇内容由个人博客点击跳转同步更新!转载请注明出处前言之前自己有个core2.2的项目一直是用的Surging作为微服务框架的,后来了解到了Dapr,发现比较轻量级,开发部署等也非常方便,故将自己的程序升级到了3.0同时框架改成了Dapr,网上查到的好多Dapr文章基本都是大差不同,大都是用的GIT上的示例或者是直接文章翻译很少有提到实战上的一些问题,下面我把我自己遇到的一些问题和解决方法记录一下同时大致讲下安装集成步骤。前期准...

【.netcore学习】.netcore添加到 supervisor 守护进程自启动报错【代码】

配置 supervisor[program:HelloWebApp] command=dotnet run directory=/home/python/dotnet/myweb/mywebapi environment=ASPNETCORE__ENVIRONMENT=Production user=root stopsignal=INT autostart=true autorestart=true startsecs=1 stderr_logfile=/var/log/HelloWebApp.err.log stdout_logfile=/var/log/HelloWebApp.out.log 启动 supervisor 的时候 报错log如下:python@ubuntu:~/dotnet/myweb/mywebapi$ sudo servi...

asp.net core2 mvc 基础教程--继续讲 Tag Helpers 和复习 View Component【代码】

条件 Tag HelpersConditionTagHelper:[HtmlTargetElement(Attributes = nameof(Condition))] publicclass ConditionTagHelper : TagHelper {publicbool Condition { get; set; }publicoverridevoid Process(TagHelperContext context,TagHelperOutput output){if (!Condition) output.SuppressOutput();} } 使用 ConditionTagHelper:<li class="nav-item" condition="SignInManager.IsSignedIn(User)"><a class="nav-link text-d...

ASP.NET CORE系列【四】基于Claim登录授权【代码】【图】

原文:ASP.NET CORE系列【四】基于Claim登录授权介绍 关于什么是Claim? 可以看看其他大神的文章: http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html http://www.cnblogs.com/savorboard/p/aspnetcore-identity.html 注:本人目前还是菜鸟初学阶段,如有写错的地方,望各位大鸟 指出!场景用户登录是一个非常常见的应用场景 .net core的登录方式跟以往有些不同,可以说是往好的方...

linux+asp.net core+nginx四层负载均衡【代码】【图】

Linux Disibutaion:Ubuntu 16.04.1 LTSWeb Server:Nginx、Kestrel关于如何在linux中部署asp.net core我这里不再详细介绍,可以参考ASP.Net Core 运行在Linux(Ubuntu) 这里我需要三台VM:nginxvm01:做负载均衡服务器nginxvm02:服务节点1nginxvm03:服务节点2 大致服务架构如下图:配置负载均衡节点(nginxvm01):sudo apt-get install -y nginx sudo touch /etc/nginx/sites-available/nginxlb-proxy sudo vi /etc/nginx/sites-ava...

NET Core,你必须了解无处不在的“依赖注入”【代码】【图】

NET Core,你必须了解无处不在的“依赖注入”ASP.NET Core的核心是通过一个Server和若干注册的Middleware构成的管道,不论是管道自身的构建,还是Server和Middleware自身的实现,以及构建在这个管道的应用,都需要相应的服务提供支持,ASP.NET Core自身提供了一个DI容器来实现针对服务的注册和消费。换句话说,不只是ASP.NET Core底层框架使用的服务是由这个DI容器来注册和提供,应用级别的服务的注册和提供也需要以来这个DI容器,...

【译】ASP.NET Core在 .NET Core 3.1 Preview 1中的更新【代码】【图】

.NET Core 3.1 Preview 1现在可用。此版本主要侧重于错误修复,但同时也包含一些新功能。 这是此版本的ASP.NET Core的新增功能:对Razor components的部分类支持将参数传递给顶级组件在HttpSysServer中支持共享队列在SameSite cookies的重大更改除了.NET Core 3.1 Preview版本发布之外,我们还发布了Blazor WebAssembly的更新,现在要求.NET Core 3.1. 若要使用Blazor WebAssembly,您需要安装.NET Core 3.1 Preview 1以及Visual S...

卸载.net 5.0后使用dotnet提示Found .NET Core SDK【图】

之前安装了预览版本的vs2019后试了下,然后卸载了。但发现控制台执行dotnet相关命令提示Found .NET Core SDK, but did not find dotnet.dll at [C:\Program Files\dotnet\sdk\5.0.100-rc.1.20452.10\dotnet.dll]于是定位到C:\Program Files\dotnet\sdk路径中删除5.0目录即可这样就可以了之后重新打开控制台输入dotnet --info没问题了原文:https://www.cnblogs.com/tchivs/p/13800903.html

ASP.NET Core的Kestrel服务器【代码】【图】

原文:ASP.NET Core的Kestrel服务器原文地址----Kestrel server for ASP.NET CoreBy Tom Dykstra, Chris Ross, and Stephen HalterKestrel是一个基于libuv的跨平台ASP.NET Core web服务器,libuv是一个跨平台的异步I/O库。ASP.NET Core模板项目使用Kestrel作为默认的web服务器。Kestrel支持以下功能:HTTPS用于启用不透明升级的WebSockets位于Nginx之后的高性能Unix socketsKestrel 被.NET Core支持的所有平台和版本所支持查看或下载...

asp.net core api网关 实时性能监控【代码】

asp.net core api网关 实时性能监控使用InfluxDB、GrafanaDockerfile 运行 InfluxDB、Grafanainfluxdb: image: influxdbports:- "8086:8086"- "8083:8083"environment:- INFLUXDB_DB=TogetherAppMetricsDB- INFLUXDB_ADMIN_ENABLED=true- INFLUXDB_ADMIN_USER=admin- INFLUXDB_ADMIN_PASSWORD=admin grafana:image: grafana/grafanaports:- "3000:3000"配置 Grafana浏览器打开 <本地ip>:3000,使用默认账号登录添加数据源 在Config...

jenkins发布dotnet core项目【代码】【图】

使用上传压缩包的方式,将dotnet core项目上传到jenkins,并自动创建linux系统服务,开机自启效果如下:使用参数化构建构建使用的shell脚本如下#!/bin/bash # 项目部署根目录 rootpath="/Code/HNSZ/Server"# 项目运行目录 path="${rootpath}/${Module}/"# 所要运行项目的启动文件名称 file="${path}RG.${Module}.Web.dll"# 生成的linux服务文件名称 servicename="rg_${Module,,}.service"# linux服务所保存的路径 servicepath="/et...

【无私分享:ASP.NET CORE 项目实战(第二章)】添加EF上下文对象,添加接口、实现类以及无处不在的依赖注入(DI)【代码】【图】

目录索引  【无私分享:ASP.NET CORE 项目实战】目录索引 简介   上一章,我们介绍了安装和新建控制器、视图,这一章我们来创建个数据模型,并且添加接口和实现类。 添加EF上下文对象   按照我们以前的习惯,我们还是新建几个文件夹  Commons:存放帮助类  Domians:数据模型  Services:接口和实现类我们在Domains文件夹下添加一个类库 Domain 我们新建一个类 ApplicationDbContext 继承 DbContext 1 using Microsof...

在ASP.NET CORE中启用favicon.ico

在静态页面中添加网站标志只需在<head>标签中添加<link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />即可。如果网站标志文件位于Web服务器的根目录,那就不必用到link元素。几乎所有的浏览器在载入页面时都会自动请求这个文件,就算没有link元素也如此。  在ASP.NET CORE项目中也是如此,只需在项目文件夹的wwwroot目录下直接放置favicon.ico即可。在此之前要确保在Startup类的Configure方法中调用app.UseSta...

asp.net core 缓存和Session【代码】【图】

原文:asp.net core 缓存和Session缓存#缓存在内存中 ASP.NET Core#使用 IMemoryCache内存中缓存是使用依赖关系注入从应用中引用的服务。 请在ConfigureServices中调用AddMemoryCache():CopypublicclassStartup {publicvoidConfigureServices(IServiceCollection services){services.AddMemoryCache();services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);}publicvoidConfigure(IApplicationBuilder app)...

ASP.NET Core Razor Pages 教程一 创建应用程序【代码】【图】

介绍Fourth Coffee 网站从 ASP.NET Web Pages Bakery 模板站点开始。这个模板站点提供了“最先进水平” 在线订单系统,允许用户下单订购各种各样的烘培食品。从技术角度看,这个网站展示了:使用基于文件的数据库来存储产品信息基本数据访问创建和处理表单并通过 WebMail 帮助程序功能发送电子邮件在本系统中,将 Web Pages 版本移植到 Razor Pages。总共分为7个步骤,每个步骤检查 Razor Pages 开发的一个方面。此后,Bakery网站将...

跨平台部署.NET Core程序【代码】【图】

开发环境:Win10开发工具:Visual Studio 2015部署环境:centos 7-x64或macOS 10.12一、准备工作(一)开发机器1. 安装VS2015 .NET Core开发工具:Visual Studio 2015 Tools (Preview 2),下载地址:https://go.microsoft.com/fwlink/?LinkId=827546;2. 安装.NET Core SDK,下载地址:https://go.microsoft.com/fwlink/?LinkID=835009;3. ASP.NET Core程序可以使用命令行启动Web服务,如果需要使用IIS,还要下载一个伺服器:Wind...