栏目: ASP.NET

详解ASP.NET MVC的整个生命周期

一、介绍我们做开发的,尤其是做微软技术栈的,有一个方向是跳不过去的,那就是MVC开发。我相信大家,做ASP.NETMVC开发有的有很长时间,当然,也有刚进入这个行业的。无论如何,如果有人问你,你知道ASP.NETMVC的生命周期吗?你知道它的来世今生吗?你知道它和ASP.NETWEBFORM有什么区...

2021-08-24 115 0 0 阅读全文

深入理解.NET中的异步

博客园中有很多关于.NETasync/await的介绍,但是很遗憾,很少有正确的,甚至说大多都是“从现象编原理”都不过分。最典型的比如通过前后线程ID来推断其工作方式、在async方法中用Thread.Sleep来解释Task机制而导出多线程模型的结论、在Task.Run中包含IObound任务来推...

2021-06-23 148 0 0 阅读全文

ASP.NET Core中使用令牌桶限流的实现

在限流时一般会限制每秒或每分钟的请求数,简单点一般会采用计数器算法,这种算法实现相对简单,也很高效,但是无法应对瞬时的突发流量。比如限流每秒100次请求,绝大多数的时间里都不会超过这个数,但是偶尔某一秒钟会达到120次请求,接着很快又会恢复正常,假设这种突发的流量不会对系统稳定性带来实质性的影响,则...

2021-04-15 172 0 0 阅读全文

Asp.Net Core 如何设置黑白名单(路由限制)

1,在原有的AspnetMvc中我们会使用到路由访问限制,在AppStart/RouteConfig.cs中写上如下:routes.IgnoreRoute("{resource}.axd/{*pathInfo}");但是在aspnetcoremvc已经不存在RouteConfig...

2021-08-23 135 0 0 阅读全文

ASP.NET Core Web API 教程Project Configuration

ASP.NETCoreWebAPI教程本系列文章主要参考了《UltimateASP.NETCore3WebAPI》一书,我对原文进行了翻译,同时适当删减、修改了一部分内容。对于某些概念和原理,原书和本文中都没有进行详细描述,如果一一详细介绍,内容就显得臃肿且混乱,我个人是先对原书进行了通读,理解主要...

2021-09-18 105 0 0 阅读全文

.Net RabbitMQ实现HTTP API接口调用

RabbitMQManagement插件还提供了基于RESTful风格的HTTPAPI接口来方便调用。一共涉及4种HTTP方法:GET、PUT、DELETE和POST。GET方法一般用来获取如集群、节点、队列、交换器等信息。PUT方法用来创建资源,如交换器、队列之类的。DELETE方法用来删除资源。...

2021-06-23 119 0 0 阅读全文

在ASP.NET Core中使用Brotli压缩

Brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比。据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZMA和bzip2略大。链接:Google开源Brotli压缩算法微软使用了一种基于谷歌提供的C代码的...

2021-06-23 163 0 0 阅读全文

.NET Core HttpClient源码探究

在之前的文章我们介绍过HttpClient相关的服务发现,确实HttpClient是目前.NETCore进行Http网络编程的的主要手段。在之前的介绍中也看到了,我们使用了一个很重要的抽象HttpMessageHandler,接下来我们就探究一下HttpClient源码,并找寻它和HttpMessa...

2021-07-16 153 0 0 阅读全文

ASP.NET Core搭建多层网站架构【1-项目结构分层建立】

本章节介绍了本项目的分层结构,建立了各层级的类库,修改网站项目的启动配置新建解决方案新建空白解决方案MSDemo建立以下解决方案文件夹:一个解决方案文件夹相当于一个层级,解决方案下是src和tests。而src下分了七个层级,并且每个层级向上依赖,不会出现2.WebCore中的内容依赖5.Model...

2021-07-16 110 0 0 阅读全文

ASP.NET Core根据环境变量支持多个 Appsettings.Json配置文件

一、背景在项目开发的过程当中,开发环境与生产环境的配置肯定是不一样的。拿个最简单的例子来说,比如连接字符串这种东西,开发环境肯定不能连生产数据库。在之前的话,这种情况基本靠准备两个同名的配置文件来进行处理,然后你在本地就使用本地的配置文件,生产环境就使用生产环境的配置文件,十分麻烦。ASP.NETC...

2021-05-20 148 0 0 阅读全文

ASP.NET Core实现自动依赖注入

在开发.NETCoreweb服务的时候,我们习惯使用自带的依赖注入容器来进行注入。于是就会经常进行一个很频繁的的重复动作:定义一个接口->写实现类->注入有时候会忘了写Add这一步,看到屏幕上的报错一脸懵逼,然后瞬间反应过来忘了注入了。赶紧补上serviceCollection.AddX...

2021-04-16 145 0 0 阅读全文

Asp.Net Core添加请求头自定义认证的示例

小项目中需要添加Api请求权限认证,并且只是专用网络内使用,于是只想简单得认证下是否可以访问,顺便也是一种学习的过程,简单记录一下要点实现IAuthenticationHandler接口:4个方法首先会调用InitializeAsync获取到scheme和context然后调用Authenticat...

2021-04-16 143 0 0 阅读全文

ASP.NET Core快速入门之环境篇

ASP.NETCore是一个开源和跨平台的框架,用于构建如Web应用、物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序。ASP.NETCore应用可运行于.NETCore和完整的.NETFramework之上。它整合了原来ASP.NET中的MVC和WebApi框架,你可以在Wi...

2021-04-27 120 0 0 阅读全文

Element NavMenu导航菜单的使用方法

组件-Element—NavMenu(导航菜单)组件—导航菜单顶栏处理中心我的工作台选项1选项2选项3选项4选项1选项2选项3消息中心订单管理处理中心我的工作台选项1选项2选项3选项4选项1选项2选项3消息中心订单管理exportdefault{data(){return{activeIndex:'...

2021-05-27 130 0 0 阅读全文

Asp.Net Core Razor自定义Taghelper的方法

又一个新的名词(taghelper),通过taghelper是可以操作html标签、条件输出、更是自由添加内外元素。当然也内置了挺多的asp-开头的taghelper。下面文章中也简单的带大家实现一个taghelper;创建自定义html元素创建一个类ButtonTagHelpertagName为标...

2021-04-28 121 0 0 阅读全文

ASP.NET Core 集成 React SPA应用的步骤

AgileConfig的UI使用react重写快完成了。上次搞定了基于jwt的登录模式(AntDesignPro+.NETCore实现基于JWT的登录认证),但是还有点问题。现在使用react重写后,agileconfig成了个确确实实的前后端分离项目。那么其实部署的话要分2个站点部署,把前端bui...

2021-04-28 145 0 0 阅读全文

ASP.NET Core中间件初始化的实现

在日常使用ASP.NETCore开发的过程中我们多多少少会设计到使用中间件的场景,ASP.NETCore默认也为我们内置了许多的中间件,甚至有时候我们需要自定义中间件来帮我们处理一些请求管道过程中的处理。接下来,我们将围绕着以下几个问题来简单探究一下,关于ASP.NETCore中间件是如何初始化的首...

2021-06-23 138 0 0 阅读全文

.Net Core 集成 Kafka的步骤

最近维护的一个系统并发有点高,所以想引入一个消息队列来进行削峰。考察了一些产品,最终决定使用kafka来当做消息队列。以下是关于kafka的一些知识的整理笔记。kafkakafka是分布式流式平台。它由linkedin开发,后贡献给了Apache开源组织并成为顶级开源项目。它可以应用在高并发场景下的...

2021-04-28 121 0 0 阅读全文

Asp.Net Core利用AccessControlHelper实现控制访问权限

Intro#由于项目需要,需要在基于asp.netmvc的Web项目框架中做权限的控制,于是才有了这个权限控制组件,最初只是支持netframework,后来dotnetcore2.0发布了之后添加了对asp.netcore的支持,在dotnetcore3.0发布之后也增加了对asp.netcore...

2021-04-30 179 0 0 阅读全文

如何使用签名保证ASP.NET MVC OR WEBAPI的接口安全

当我们开发一款App的时候,App需要跟后台服务进行通信获取或者提交数据。如果我们没有完善的安全机制则很容易被别用心的人伪造请求而篡改数据。所以我们需要使用某种安全机制来保证请求的合法。现在最常用的办法是给每个http请求添加一个签名,服务端来验证签名的合法性,如果签名合法则执行响应的操作,如果签名...

2021-04-28 112 0 0 阅读全文