腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
大内老A
专栏作者
举报
840
文章
820978
阅读量
116
订阅数
订阅专栏
申请加入专栏
全部文章
asp.net
其他
编程算法
mvc
.net
javascript
windows
http
网络安全
xml
数据库
网站
对象
api
node.js
android
aop
tcp/ip
分布式
html
缓存
安全
文件存储
容器
asp
存储
core
c#
json
sql
unity
数据处理
内存
ide
面向对象编程
iis
数据结构
sql server
bash
https
数组
php
python
access
打包
linux
日志服务
webassembly
jquery
ajax
public
函数
框架
apache
布局
java
instance
int
max
system
解决方案
unix
express
gui
rpc
memory
service
tcp
笔记
编程
流量
模型
入门
设计
数据
字符串
云数据库 Redis
ruby on rails
spring
批量计算
开源
性能测试
action
程序
二进制
服务端
数据类型
线程
序列化
重定向
c++
actionscript
bootstrap
ubuntu
容器镜像服务
自动化
图像识别
silverlight
kerberos
系统架构
微服务
nat
callback
datetime
dispose
null
ref
session
static
throttling
transactionscope
var
变量
并发
代理
泛型
服务
高性能
接口
路由
模块化
索引
性能
指针
私有网络
负载均衡
ios
mac os
scala
react
css
嵌入式
硬件开发
oracle
git
深度学习
访问管理
shell
ssh
dns
单元测试
socket编程
uml
ntp
微信
小程序
安全漏洞
架构设计
processing
account
add
behavior
block
bug
byte
class
client
config
controller
cors
database
db
display
double
error
event
exception
exe
execute
global
hosting
httpclient
idisposable
image
invoke
key
list
mex
module
nullable
object
ode
picturebox
pipeline
point
post
private
profiler
properties
select
send
show
string
table
task
thread
threadpool
timeout
transactions
ui
unmanaged
using
view
web
window
登录
队列
反射
集合
架构
客户端
跨域
内存泄漏
事务
系统
线程池
协议
异步
异常
异常处理
搜索文章
搜索
搜索
关闭
为什么ASP.NET Core的路由处理器可以使用一个任意类型的Delegate
asp
core
public
对象
路由
毫不夸张地说,路由是ASP.NET Core最为核心的部分。路由的本质就是注册一系列终结点(Endpoint),每个终结点可以视为“路由模式”和“请求处理器”的组合,它们分别用来“选择”和“处理”请求。请求处理器通过RequestDelegate来表示,但是当我们在进行路由编程的时候,却可以使用任意类型的Delegate作为处理器器,这一切的背后是如何实现的呢?
蒋金楠
2024-03-19
74
0
深入解析ASP.NET Core MVC的模块化设计[下篇]
模块化
设计
mvc
asp
core
ASP.NET Core MVC的“模块化”设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载。《设计篇》介绍了这种为“飞行中的飞机加油”的方案的实现原理?本篇我们将演示将介绍“分散定义Controller”的N种实现方案。源代码从这里下载。
蒋金楠
2024-03-07
84
0
深入解析ASP.NET Core MVC应用的模块化设计[上篇]
core
模块化
设计
mvc
asp
ASP.NET Core MVC的“模块化”设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载。这种为“飞行中的飞机加油”的方案是如何实现的呢?该系列的两篇文章将关注于这个主题,本篇着重介绍“模块化”的总体设计,下篇我们将演示将介绍“分散定义Controller”的N种实现方案。
蒋金楠
2024-03-06
91
0
ASP.NET Core MVC应用模型的构建[4]: Action的选择
action
core
模型
mvc
asp
ControllerModel类型的Actions属性包含一组描述有效Action方法的ActionModel对象。对于定义在Controller类型中的所有方法,究竟哪些方法才能成为有效的Action方法呢?所以在正式介绍ActionModel类型之前,我们先来聊聊Action方法的选择规则。
蒋金楠
2024-03-01
82
0
ASP.NET Core MVC应用模型的构建[3]: Controller的收集
controller
core
模型
mvc
asp
从编程的角度来看,一个MVC应用是由一系列Controller类型构建而成的,所以对于一个代表应用模型的ApplicationModel对象来说,它的核心就是Controllers属性返回的一组ControllerModel对象,每个ControllerModel对象是应用模型针对Controller类型的描述。
蒋金楠
2024-02-29
52
0
ASP.NET Core MVC应用模型的构建[2]: 定制应用模型
模型
mvc
asp
core
对象
在对应用模型的基本构建方式具有大致的了解之后,我们来系统地认识一下描述应用模型的ApplicationModel类型。对于一个描述MVC应用模型的ApplicationModel对象来说,它承载的元数据绝大部分是由默认注册的DefaultApplicationModelProvider对象提供的,在接下来针对ApplicationModel及其相关类型(ControllerModel、ActionModel和ParameterModel等)的介绍中,我们还会着重介绍DefaultApplicationModelProvider对象采用怎样的方式提取并设置这些元数据。
蒋金楠
2024-02-28
94
0
ASP.NET Core MVC应用模型的构建[1]: 应用的蓝图
模型
mvc
asp
core
对象
我个人觉得这是ASP.NET Core MVC框架体系最核心的部分。原因很简单,MVC框架建立在ASP.NET Core路由终结点上,它最终的目的就是将每个Action方法映射为一个或者多个路由终结点,路由终结点根据附加在Action上的若干元数据构建而成。为了构建描述当前应用所有Action的元数据,MVC框架会提取出定义在当前应用范围内的所有Controller类型,并进一步构建出基于Controller的应用模型。应用模型不仅仅是构建Action元数据的基础,承载API的应用还可以利用它自动生成API开发文档,一些工具甚至可以利用应用模型自动生成消费API的客户端代码。这篇文章大概是两年之前写的,可能一些技术细节在最新版本的ASP.NET Core MVC已经发生了改变,但总体设计依然如此。
蒋金楠
2024-02-27
111
0
模拟ASP.NET Core MVC设计与实现
mvc
asp
core
对象
设计
前几天有人在我的《ASP.NET Core框架揭秘》读者群跟我留言说:“我最近在看ASP.NET Core MVC的源代码,发现整个系统太复杂,涉及的东西太多,完全找不到方向,你能不能按照《200行代码,7个对象——让你了解ASP.NET Core框架的本质》这篇文章思路剖析一下MVC框架”。对于ASP.NET Core MVC框架的涉及和实现,说难也难,毕竟一个Model Binding就够很多人啃很久,其实说简单也简单,因为整个流程是很清晰的。ASP.NET Core MVC支持基于Controller和Page的两种编程模式,虽然编程方式看起来不太一样,底层针对请求的处理流程其实是一致的。接下来,我同样使用简单的代码构建一个Mini版的MVC框架,让大家了解一下ASP.NET Core MVC背后的总体设计,以及针对请求的处理流程。[源代码从这里下载]。
蒋金楠
2023-11-09
238
0
ASP.NET Core 6框架揭秘实例演示[42]:检查应用的健康状况
asp
core
对象
服务
框架
现代化的应用及服务的部署场景主要体现在集群化、微服务和容器化,这一切都建立在针对部署应用或者服务的健康检查上。ASP.NET提供的健康检查不仅可能确定目标应用或者服务的可用性,还具有健康报告发布功能。ASP.NET框架的健康检查功能是通过HealthCheckMiddleware中间件完成的。我们不仅可以利用该中间件确定当前应用的可用性,还可以注册相应的IHealthCheck对象来完成针对不同方面的健康检查。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-07-10
226
0
ASP.NET Core 6框架揭秘实例演示[41]:跨域资源的共享(CORS)N种用法
asp
core
cors
跨域
框架
同源策略是所有浏览器都必须遵循的一项安全原则,它的存在决定了浏览器在默认情况下无法对跨域请求的资源做进一步处理。为了实现跨域资源的共享,W3C制定了CORS规范。ASP.NET利用CorsMiddleware中间件提供了针对CORS规范的实现。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-07-10
248
0
ASP.NET Core 6框架揭秘实例演示[40]:基于角色的授权
asp
core
对象
服务
框架
ASP.NET应用并没有对如何定义授权策略做硬性规定,所以我们完全根据用户具有的任意特性(如性别、年龄、学历、所在地区、宗教信仰、政治面貌等)来判断其是否具有获取目标资源或者执行目标操作的权限,但是针对角色的授权策略依然是最常用的。角色(或者用户组)实际上就是对一组权限集的描述,将一个用户添加到某个角色之中就是为了将对应的权限赋予该用户。在《使用最简洁的代码实现登录、认证和注销》中,我们提供了一个用来演示登录、认证和注销的程序,现在我们在此基础上添加基于“角色授权的部分”。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-07-10
255
0
ASP.NET Core 6框架揭秘实例演示[39]:使用最简洁的代码实现登录、认证和注销
asp
core
登录
框架
重定向
认证是一个确定请求访问者真实身份的过程,与认证相关的还有其他两个基本操作——登录和注销。ASP.NET Core利用AuthenticationMiddleware中间件完成针对请求的认证,并提供了用于登录、注销以及“质询”的API,本篇文章利用它们使用最简单的代码实现这些功能。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-07-10
196
0
ASP.NET Core 6框架揭秘实例演示[38]:两种不同的限流策略
asp
core
并发
队列
框架
承载ASP.NET应用的服务器资源总是有限的,短时间内涌入过多的请求可能会瞬间耗尽可用资源并导致宕机。为了解决这个问题,我们需要在服务端设置一个阀门将并发处理的请求数量限制在一个可控的范围,即使会导致请求的延迟响应,在极端的情况会还不得不放弃一些请求。ASP.NET应用的流量限制是通过ConcurrencyLimiterMiddleware中间件实现的。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-07-10
246
0
ASP.NET Core 6框架揭秘实例演示[37]:重定向的N种实现方式
asp
core
服务端
框架
重定向
在HTTP的语义中,重定向一般指的是服务端通过返回一个状态码为3XX的响应促使客户端像另一个地址再次发起请求,本章将此称为“客户端重定向“。既然有客户端重定向,自然就有服务端重定向,本章所谓的服务端重定向指的是在服务端通过改变请求路径将请求导向另一个终结点。ASP.NET下的重定向是通过RewriteMiddleware中间件实现的。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-07-10
364
0
ASP.NET Core 6框架揭秘实例演示[36]:HTTPS重定向
asp
https
core
框架
重定向
HTTPS是确保传输安全最主要的手段,并且已经成为了互联网默认的传输协议。不知道读者朋友们是否注意到当我们利用浏览器(比如Chrome)浏览某个公共站点的时候,如果我们输入的是一个HTTP地址,在大部分情况下浏览器会自动重定向到对应HTTPS地址。这一特性源于浏览器和服务端针对HSTS(HTTP Strict Transport Security)这一HTTP规范的支持。ASP.NET利用HstsMiddleware和HttpsRedirectionMiddleware这两个中间件提供了对HSTS的实现。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023-06-09
618
0
使用C# 11的静态接口方法改进 面向约定 的设计
api
rpc
asp.net
asp
.net
C# 11带来了一个我期待已久的特性——接口方法。我们知道接口是针对契约的定义,但是一直以来它只能定义一组“实例”的契约,而不能定义类型(的静态成员)的契约,因为定义在接口中的方法只能是实例方法。由于缺乏针对“类型契约”的支持,我们在设计一些框架或者类库的时候,只能采用“按照约定”的设计,比如ASP.NET Core Minimal API针对参数的绑定就是一个典型的案例。以如下这个简单的应用为例,我们采用Minimal API的形式注册了一个针对根地址“/”的路由,作为处理器的委托的输出和输出都是我们自定义的Point对象。
蒋金楠
2022-12-09
596
0
提供第三种代码生成方式——通过自定义BuildProvider为ASP.NET提供代码生成
asp.net
xml
.net
asp
之前写了一些关于代码生成的文章,提供了两种不同方式的代码生成解决方案,即CodeDOM+Custom Tool和T4。对于ASP.NET应用,你还有第三种选择——自定义BuildProvider。[文中涉及的源代码从这里下载] 目录 一、BuildProvider是什么? 二、将XML表示的消息转换成VB.NET或者C#代码 三、将XML转换成CodeDOM 四、自定义BuildProvider 五、BuildProvider的应用 一、BuildProv
蒋金楠
2018-02-08
1.6K
0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
立即发文
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档