
ASP.NET Core
文章平均质量分 69
dz45693
我是一个软件开发人员,有较强的责任心,是一个典型的技术爱好者。在此希望能认识更多好朋友。
展开
-
.NET Core 对象池的使用
昨天在『.NET 大牛之路』技术群和大家聊到了对象池的话题,今天展开详细讲讲这个知识点。池这个概念大家都很熟悉,比如我们经常听到数据库连接池和线程池。它是一种基于使用预先分配资源集合的性能优化思想。简单说,对象池就是对象的容器,旨在优化资源的使用,通过在一个容器中池化对象,并根据需要重复使用这些池化对象来满足性能上的需求。当一个对象被激活时,便被从池中取出。当对象被停用时,它又被放回池中,等待下一个请求。对象池一般用于对象的初始化过程代价较大或使用频率较高的场景。那在 .NET 中如何实现或使用转载 2021-07-19 12:25:20 · 1515 阅读 · 0 评论 -
geoip【go和C#】
在项目中经常遇到通过ip获取区域信息,geoip无疑是一个很好的选择https://dev.maxmind.com/geoip/, 大家在这里可以下载IP库 。还有在ip中经常遇到字符串和数字的转换GOip数字和字符的转换我们可以用github.com/thinkeridea/go-extend/exnet包,获取ip信息可以用github.com/oschwald/geoip2-golang,代码如下:package mainimport ( "fmt" "log" "net".原创 2021-02-26 14:22:21 · 1785 阅读 · 0 评论 -
go和asp.netCore读取nacos配置
上文docker安装nacos我们已经安装了nacos,现在我们来看看如何读取配置文件。我们的nacos的示例采用和go读取consul配置文件一致:go我这里采用https://github.com/nacos-group/nacos-sdk-go客户端, 直接上上代码:package mainimport ( "fmt" "log" "strings" "time" "github.com/nacos-group/nacos-sdk-go/clients" "gi...原创 2021-02-05 18:41:12 · 1610 阅读 · 0 评论 -
asp.netcore5.0使用xxl-job
书接上文go任务调器我们来看看asp.netcore5.0里面怎么使用, 非常高兴有大佬们的贡献https://github.com/NanoFabricFX/DotXxlJob, 我的xxl-job是2.2.0,按照githab上我们需要安装DotXxlJob.Core然后准备代码如下:using DotXxlJob.Core;using DotXxlJob.Core.Model;using Microsoft.AspNetCore.Builder;using Microsoft.AspNe.原创 2021-02-04 23:05:08 · 2185 阅读 · 3 评论 -
谷歌身份验证 asp.net core和go的实现
一、Google Authenticator 基本概念 Google Authenticator是谷歌推出的一款动态口令工具,旨在解决大家Google账户遭到恶意攻击的问题,在手机端生成动态口令后,在Google相关的服务登陆中除了用正常用户名和密码外,需要输入一次动态口令才能验证成功,此举是为了保护用户的信息安全。 谷歌验证(Google Authenticator)通过两个验证步骤,在登录时为用户的谷歌帐号提供一层额外的安全保护。使用谷歌验证可以直接在用户的设备上生成动态密...原创 2021-01-28 23:59:27 · 1976 阅读 · 1 评论 -
kafka初探go和C#的实现
kafka是一个消息队列, 和activeMQ, RabbitMQ类似, 一般都只是用到消息定订阅和发布。环境环境我们还是依赖docker来完成-- 拉镜像docker pull wurstmeister/kafkadocker pull wurstmeister/zookeeperdocker pull zookeeperdocker pull kafka--启动zookeeperdocker run -d --name zookeeper -p 2181:2181 -t w原创 2021-01-24 19:01:41 · 1700 阅读 · 0 评论 -
as.net core 5.0 Configuration读取consul的kv存储
Consul关于consul的环境搭建很简单,可以用docker临时搭建以下, consul关于KV存储的api也很简单,注意/v1/kv/是默认的公共路径-- 运行dockerdocker pull consul:latestdocker run --name consul -d -p 8500:8500 consul--create /v1/kv/是公共路径curl --request PUT --data '{"host":"localhost"}' http://127.原创 2021-01-24 14:08:05 · 1577 阅读 · 0 评论 -
go和C# 雪花算法
雪花算法能满足高并发分布式系统环境下ID不重复,并且基于时间戳生成的id具有时序性和唯一性,结构如下:由图我们可以看出来,snowFlake ID结构是一个64bit的int型数据。第1位bit:在二进制中最高位为1,表示的是负数,因为我们使用的id应该都是整数,所以这里最高位应该是0。41bit时间戳:41位可以表示2^41-1个数字,如果只用来表示正整数,可以表示的数值范围是:0 - (2^41 -1),这里减去1的原因就是因为数值范围是从0开始计算的,而不是从1开始的。这里的单位是毫秒,原创 2021-01-23 21:06:21 · 1361 阅读 · 0 评论 -
gRPC流模式的实现和TLS加密通信[Go和asp.net core 5.0]
gRPC主要有4种请求和响应模式,分别是简单模式(Simple RPC)、服务端流式(Server-side streaming RPC)、客户端流式(Client-side streaming RPC)、和双向流式(Bidirectional streaming RPC)。1.简单模式(Simple RPC):客户端发起请求并等待服务端响应。2.服务端流式(Server-side streaming RPC):客户端发送请求到服务器,拿到一个流去读取返回的消息序列。 客户端读取返回的流,直到里面没原创 2021-01-05 17:31:29 · 1528 阅读 · 0 评论 -
grpc 拦截器【 go 和 asp.net core的实现】
在asp.ner core 5.0 Grpc HttpApi 和jwt的集成 和跨域【https双向认证】和Go Grpc Jwt身份认证和Gateway集成以及HTTPS双向认证我们 获取用户名都是通过方法的,在这里我们来用拦截器实现一下。GO大类可分为两种 RPC 方法,与拦截器的对应关系是:普通方法:一元拦截器(grpc.UnaryInterceptor);流方法:流拦截器(grpc.StreamInterceptor)。1.拦截器的实现 我们来看看他的实现。在\gogrpcj...原创 2021-01-06 16:58:00 · 1335 阅读 · 0 评论 -
asp.ner core 5.0 Grpc双向认证 和 restful api包装 外加swagger启用【VSCode创建】
关于grpc 我以前的文章.Net Core3.0使用gRPC 和IdentityServer4已经很向详细了, 关于http的双向认证 也已经有了, 大家可以参考asp.net 5.0 https的双向认证(windows和ubuntu),今天主要试一下 在vccode 里面怎么完成全部的操作,证书还是用asp.net 5.0 https的双向认证(windows和ubuntu)里面的, 结尾我会贴下来创建代码Grpc Server1.创建grpc server创建结果如图:...原创 2021-01-03 13:55:07 · 2287 阅读 · 0 评论 -
asp.net 5.0 https的双向认证(windows和ubuntu) 以及go的调用
前几天搞go 的Grpc和http2的双向认证。现在来搞搞。net core 里面是如何实现的首先需要下载 OpenSSLhttp://slproweb.com/products/Win32OpenSSL.html一、创建根证书//生成key文件,输入密码:openssl genrsa -des3 -out root.key//生成请求证书文件,如果安装路径发生改变,可以通过在下面命令后面添加-config openssl.cfg来指明配置文件路径openssl req -new..原创 2021-01-01 19:30:28 · 1731 阅读 · 3 评论 -
dotnetcore5.0 session redis使用 是否有阻塞
今天来尝试一下dotnetcore5.0 的session redis的用法, 顺便看看你是否有阻塞,在我以前的文章你的项目真的需要Session吗?redis保存session性能怎么样?和asp.net mvc Session RedisSessionStateProvider锁的实现有提到asp.net mvc session 锁的问题【默认内存保存是不存在】,前几天 发现beego session redis 是没有锁的 ,大家可以参考beego Session redis存储以及是否阻塞 ...原创 2020-12-24 10:00:25 · 1179 阅读 · 0 评论 -
使用Visual Studio Code开发.NET Core看这篇就够了
作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studio Code中进行.NET Core程序的开发,测试以及调试。尽管Visual Studio Code的部分功能还达不到Visual Studio的水平,但它实际上已经足够强大来满足我们的日常开发。而且其轻量化,插件化以及跨平台的特性则是VS所不具备的。而且Visual Studio Code还可以通过社.转载 2020-12-22 09:23:07 · 1726 阅读 · 0 评论 -
.NET Core Web APi大文件分片上传研究
前言前两天发表利用FormData进行文件上传,然后有人问要是大文件几个G上传怎么搞,常见的不就是分片再搞下断点续传,动动手差不多也能搞出来,只不过要深入的话,考虑的东西还是很多。由于断点续传之前写个几篇,这里试试利用FormData来进行分片上传。.NET Core Web APi文件分片上传这里我们依然是使用FormData来上传,只不过在上传之前对文件进行分片处理,如下HTML代码<div class="form-horizontal" style="margin-top:80转载 2020-08-11 17:22:30 · 2321 阅读 · 0 评论 -
IdentityServer4 4.x版本 配置Scope的正确姿势
前言IdentityServer4 是为ASP.NET Core系列量身打造的一款基于 OpenID Connect 和 OAuth 2.0 认证的框架IdentityServer4官方文档:https://identityserver4.readthedocs.io/看这篇文章前默认你对IdentityServer4 已经有一些了解。本篇使用IdentityServer4的4.x版本,跟老版本的稍微有些差别。下面直接进入正题。鉴权中心创建IdentityServer4项目使转载 2020-07-04 09:46:11 · 4790 阅读 · 3 评论 -
认证授权方案之JwtBearer认证
1.前言回顾:认证方案之初步认识JWT在现代Web应用程序中,即分为前端与后端两大部分。当前前后端的趋势日益剧增,前端设备(手机、平板、电脑、及其他设备)层出不穷。因此,为了方便满足前端设备与后端进行通讯,就必须有一种统一的机制。所以导致API架构的流行。而RESTful API这个API设计思想理论也就成为目前互联网应用程序比较欢迎的一套方式。这种API架构思想的引入,因此,我们就需要考虑用一种标准的,通用的,无状态的,与语言无关的身份认证方式来实现API接口的认证。HTTP提供了一套标准转载 2020-06-19 16:15:59 · 7823 阅读 · 1 评论 -
NetCore3.0 文件上传与大文件上传的限制
NetCore文件上传两种方式 NetCore官方给出的两种文件上传方式分别为“缓冲”、“流式”。我简单的说说两种的区别, 1.缓冲:通过模型绑定先把整个文件保存到内存,然后我们通过IFormFile得到stream,优点是效率高,缺点对内存要求大。文件不宜过大。 2.流式处理:直接读取请求体装载后的Section 对应的stream 直接操作strem即可。无需把整个请求体读入...转载 2019-11-22 15:04:09 · 4179 阅读 · 0 评论 -
.NET Core 又一杀器! Web Blazor框架横空出世!
多年来,Javascript(及其子框架)已在浏览器中运行DOM(文档对象模型),并且掌握了脚本知识才能真正操作客户端UI。大约2年前,所有这些都随着Web Assembly的引入而发生了变化-Web Assembly允许在客户端解释已编译的语言(相对Web Assembly更多了解请阅读了解wasm的前世今身),并且现在所有浏览器都完全支持它。微软对此的回答是Blazor的创立。允许C#开发人员...转载 2019-11-13 11:13:20 · 2762 阅读 · 0 评论 -
务必收藏备用:.net core中通过Json或直接获取图形验证码(数字验证码、字母验证码、混合验证码),有源代码全实战demo(开源代码.net core3.0)
很多人写的博客大家看了会一知半解,不知道怎么用,应该引用什么类库或者代码不全,这样很多小白很是头疼,尤其是尝新技术更是如此。我们这边不止告诉你步骤,而且还提供开源demo。随着时间的推移,我们的demo库会日益强大请及时收藏GitHub。1.首先你需要Nuget引用类库Install-Package ZKWeb.System.Drawing -Version 4.0.12.创建公共类...转载 2019-11-06 18:34:27 · 2301 阅读 · 0 评论 -
.NET Core 3.0 里新的JSON API
为什么需要新的JSON API?JSON.NET大家都用过,老版本的ASP.NET Core也依赖于JSON.NET。然而这个依赖就会引起一些版本问题:例如ASP.NETCore某个版本需要使用JSON.NETv10,而另一个库需要使用JSON.NETv11;或者JSON.NET出现了一个新版本,而ASP.NET Core还不能支持这个版本,而您却想使用该版本。Syst...转载 2019-10-25 17:39:14 · 5439 阅读 · 0 评论 -
.NET Core微服务之基于IdentityServer建立授权与验证服务
Tip:此篇已加入.NET Core微服务基础系列文章索引一、IdentityServer的预备知识 要学习IdentityServer,事先得了解一下基于Token的验证体系,这是一个庞大的主题,涉及到Token,OAuth&OpenID,JWT,协议规范等等等等,园子里已经有很多介绍的文章了,个人觉得solenovex的这一篇文章《学习IdentityServer4的预备知...转载 2019-10-22 18:58:56 · 2618 阅读 · 0 评论 -
.Net Core3.0使用gRPC 和IdentityServer4
gRPC是什么gRPC是可以在任何环境中运行的现代开源高性能RPC框架。它可以通过可插拔的支持来有效地连接数据中心内和跨数据中心的服务,以实现负载平衡,跟踪,运行状况检查和身份验证。它也适用于分布式计算的最后一英里,以将设备,移动应用程序和浏览器连接到后端服务。proto文件用于定义gRPC服务和消息的协定;服务端和客户端共享proto文件。使用新模板创建gRPC服务端.NET...原创 2019-10-22 11:04:12 · 2981 阅读 · 0 评论 -
聊一聊C# 8.0中的await foreach
为什么写这篇文章#Async Streams这个功能已经发布很久了,在去年的Build 2018 The future of C#就有演示,最近VS 2019发布,在该版本的Release Notes中,我再次看到了这个新特性,因为对异步编程不太熟悉,所以借着这个机会,学习新特性的同时,把异步编程重温一遍.本文内容,参考了Bassam Alugili在InfoQ中发表的Async Strea...转载 2019-04-10 10:53:22 · 2006 阅读 · 0 评论 -
解读ASP.NET 5 & MVC6系列
本系列的大部分内容来自于微软源码的阅读和网络,大部分测试代码都是基于VS RC版本进行测试的。解读ASP.NET 5 & MVC6系列(1):ASP.NET 5简介解读ASP.NET 5 & MVC6系列(2):初识项目解读ASP.NET 5 & MVC6系列(3):项目发布与部署解读ASP.NET 5 & MVC6系列(4):核心技术与环境配置解读ASP.转载 2016-01-20 21:59:24 · 2554 阅读 · 1 评论 -
ASp.net Core EF ActionFilterAttribute AOP
在项目中经常遇到一些数据的修改,很多时候业务方需要一个修改日志记录,这里我们计划用mssql数据库来存放日志记录,用EF来操作,记录日志可以用mvc的ActionFilterAttribute 来完成也可以用AOP来完成。以前在asp.net的AOP用的是IMessageSink这里我们计划用Castle.DynamicProxy来完成。准备工作:创建数据库表:CREATE TABL...原创 2019-08-28 11:01:40 · 2946 阅读 · 0 评论 -
docker搭建etcd集群环境
其实关于集群网上说的方案已经很多了,尤其是官网,只是这里我个人只有一个虚拟机,在开发环境下建议用docker-compose来搭建etcd集群.1.拉取etcd镜像docker pull quay.io/coreos/etcd2.编辑docker-compose.yaml文件:version: '2'networks: byfn:services: etcd1: ...原创 2019-08-26 18:36:40 · 4007 阅读 · 0 评论 -
程序员节应该写博客之.NET下使用HTTP请求的正确姿势
一、前言去年9月份的时候我看到过外国朋友关于.NET Framework下HttpClient缺陷的分析后对HttpClient有了一定的了解。前几日也有园友写了一篇关于HttpClient的分析文章, 于是我想深入探索一下在.NET下使用HTTP请求的正确姿势。姿势不是越多越好, 而在于精不精。如果不深入了解, 小朋友可能会这样想: 啊, 这个姿势不High, 那我换一个吧, 殊不知那一转载 2017-10-30 09:03:38 · 1936 阅读 · 0 评论 -
ASP.Net Core WebApi几种版本控制对比
一、版本控制的好处:(1)有助于及时推出功能, 而不会破坏现有系统。(2)它还可以帮助为选定的客户提供额外的功能。API 版本控制可以采用不同的方式进行控制,方法如下:(1)在 URL 中追加版本或作为查询字符串参数,(2)通过自定义标头和通过接受标头在这篇文章中, 让我们来看看如何支持多个版本的 ASP.NET Core Web API。转载 2017-09-11 09:00:53 · 13522 阅读 · 0 评论 -
带你快速进入.net core的世界
申明】:本人.NET Core小白、Linux小白、MySql小白、nginx小白。而今天要说是让你精通Linux ... 的开机与关机、nginx安装与部署、Core的Hello World ...等。首先,入门文章园子里面已经很多了。这里再做个整理和备忘。您也可以根据目录挑着看。(亲测多次可行,以下多图预警!)vmware虚拟机安装vmware哪里下载?360软件管家就转载 2017-08-09 09:00:55 · 2455 阅读 · 0 评论 -
Asp.net Core中使用Redis 来保存Session
今天 无意看到Asp.net Core中使用Session ,首先要使用Session就必须添加Microsoft.AspNetCore.Session包,默认Session是只能存去字节,所以如果你想存取string的,那么还的引入Microsoft.AspNetCore.Http.Extensions包,那么在Startup.cs的ConfigureServices方法里面添加原创 2017-06-21 18:51:38 · 6212 阅读 · 0 评论 -
Asp.net5 Session Set扩展
关于Asp.net 5 如何使用Session大家可以参考http://www.mikesdotnetting.com/article/270/sessions-in-asp-net-5 和http://www.cnblogs.com/TomXu/p/4496445.html。在实际项目用Session的类型最多的是int,String,bool 以及我们自定义的类型。 很多时候这些自定义类型原创 2016-01-30 22:35:43 · 2053 阅读 · 0 评论 -
asp.net core Swagger JWT
最近在看 asp.net Core jwt 的一些东西其实发现网上已经有很详细的 demo了首先这里有一个开源的 asp.net jwt 的开源项目 stewartm83/Jwt-WebApi有关ap.net core 的jwt 这里有2个文章 比较详细:ASP.NET Core Token Authentication GuideIssuing and authen原创 2016-12-28 10:45:11 · 4708 阅读 · 0 评论 -
WebSocket in ASP.NET Core
回到目录一、WebSocket WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而转载 2016-12-22 11:38:50 · 5843 阅读 · 1 评论 -
.NET Core R2安装教程及Hello示例
前言前几天.NET Core发布了.NET Core 1.0.1 R2 预览版,之前想着有时间尝试下.NET Core。由于各种原因,就没有初试。刚好,前几天看到.NET Core发布新版本了,决定要去一探究竟。于是乎,就立马去官网查找相关的信息,为初探做准备。下面就开始今天的内容,有两个部分:安装和创建示例程序。安装本人使用的是Windows 10 64位系统,安转载 2016-12-07 09:57:52 · 2946 阅读 · 0 评论 -
通过几个Hello World感受.NET Core全新的开发体验
2016年6月27日,这是一个特殊的日子,微软全新的.NET开发平台.NET Core的RTM版本正式发布。我个人将.NET Core的核心特性归结为三点,它们的首字母组成一个非常好记的简称——COM,分别代表的含义Cross-Platform、Open-Source和Modularization。开发.NET Core应用的方式与之前具有非常大的变化,对于那些尚未体验过.NET Core的朋友,转载 2016-12-07 10:00:30 · 2076 阅读 · 0 评论 -
.NET Core WebApi中实现多态数据绑定
什么是多态数据绑定?我们都知道在ASP.NET Core WebApi中数据绑定机制(Data Binding)负责绑定请求参数, 通常情况下大部分的数据绑定都能在默认的数据绑定器(Binder)中正常的进行,但是也会出现少数不支持的情况,例如多态数据绑定。所谓的多态数据绑定(polymorphic data binding),即请求参数是子类对象的Json字符串, 而action中定义的是父...转载 2018-08-28 15:33:47 · 1986 阅读 · 0 评论 -
ASP.NET Core Mvc中空返回值的处理方式
原文地址:https://www.strathweb.com/2018/10/convert-null-valued-results-to-404-in-asp-net-core-mvc/作者: Filip W.译者: Lamond Lu.NET Core MVC在如何返回操作结果方面非常灵活的。你可以返回一个实现IActionResult接口的对象, 比如我们熟知的ViewResu...转载 2018-10-18 17:12:51 · 3099 阅读 · 0 评论 -
Docker 下的Zookeeper以及.ne core 的分布式锁
单节点1.拉取镜像:docker pull zookeeper2.运行容器a.我的容器同一放在/root/docker下面,然后创建相应的目录和文件,mkdir zookeepercd zookeepermkdir datamkdir datalogmkdir confcd conftouch zoo.cfg其中zoo.cfg(这里是默认的主要延时怪哉文件)如下:...原创 2019-08-16 12:45:27 · 2584 阅读 · 0 评论 -
asp.net core 和consul
consul集群搭建Consul是HashiCorp公司推出的使用go语言开发的开源工具,用于实现分布式系统的服务发现与配置,内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,使用起来较为简单。使用docker命令创建注册中心比较麻烦,并且不好维护,这里使用docker-compose来实现。registrator保证了,如果服务已停止,则从注册中...原创 2019-08-19 21:40:33 · 3438 阅读 · 0 评论