masaframework的minimalapi设计_磊_磊-编程思维

在以前的MVC引用程序中,控制器负责接收输入信息、执行、编排操作并返回响应,它是一个功能齐全的框架,它提供了过滤器、内置了模型绑定与验证,并提供了很多可扩展的管道,但它偏重,不像其它语言是通过更加简洁的方式来开启Web之旅的,因此在.Net6.0官方引入了MinimalAPIs,即最小API,与MVC相比,它足够的简洁,适合小型服务来使用,下面就让我们看看如何使用MinimalAPI来开发一个w

dapr 集成 open policy agent 实现 接口的访问控制_张善友-编程思维

大型项目中基本都包含有复杂的访问控制策略,特别是在一些多租户场景中,例如Kubernetes中就支持RBAC,ABAC等多种授权类型。Dapr 的 中间件 Open Policy Agent 将Rego/OPA策略应用到传入的Dapr HTTP请求中。Open Policy AgentOpen Policy Agent(简称OPA)是一个开源的策略引擎,托管于CNCF,通常用来做在微服务、API

.net静态代码织入——肉夹馍(rougamo) 发布1.2.0_nigture-编程思维

肉夹馍(https://github.com/inversionhourglass/Rougamo)通过静态代码织入方式实现AOP的组件,其主要特点是在编译时完成AOP代码织入,相比动态代理可以减少应用启动的初始化时间让服务更快可用,同时还能对静态方法进行AOP。 在 1.0.0 版本中,肉夹馍提供了最基础的AOP功能,可以进行日志记录和APM埋点。在 1.1.0 版本中新增了对更加实用的AOP

.net 7 sdk 开始 支持构建容器化应用程序_张善友-编程思维

微软于 8 月 25 日在.NET官方博客上,.NET 7 SDK 将包括对创建容器化应用程序的支持,作为构建发布过程的一部分,从而绕过需要。显式 Docker 构建阶段。 这一决定背后的基本认知是简化样板 Docker file的编写并减少开发人员的认知负担,从而可以比以前更快地在 .NET 中构建容器化应用程序。开发人员可以在本地开发中使用生成的容器,或者利用它作为 CI/CD 管道的一部分

masaframework -- 锁与分布式锁_磊_磊-编程思维

前言 什么是锁?什么是分布式锁?它们之间有什么样的关系? 什么是锁 加锁(lock)是2018年公布的计算机科学技术名词,是指将控制变量置位,控制共享资源不能被其他线程访问。通过加锁,可以确保在同一时刻只有一个线程在访问被锁住的代码片段,我们在单机部署时可使用最简单的加锁完成资源的独享,如: public class Program { private static readonly

.net 7 rc1 正式发布_张善友-编程思维

从年初2 月份发布第一个预览版,经历7个预览版后,Microsoft 西雅图时间9月14日发布了 .NET 7 RC 1:https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-1/ ,这是该框架在 11 月初正式发布之前的两个版本中的第一个。 .NET 7 RC1 是在生产中受支持,随着开发团队修复和完善内容,该框架基本上已经准

使用pipeline抽象业务生命周期流程_kevincc-编程思维

  上篇关于流程引擎的文章还是快两年以前的《微服务业务生命周期流程管控引擎》,这中间各种低代码平台层出不穷,虽然有些仅仅是OA+表单的再度包装,但有些的确是在逻辑和操作单元层面进行了真正的高度抽象,形成产品底座,上层支持更大灵活程度的自定义应用搭建。当然这个不是本篇文章的主题,核心希望给各位朋友表达的还是对于逻辑流程抽象的关注,特别是现在的很多应用是在围绕行业展开,如何在各种杂乱的功能点之中,做

.net之接口小知识_azrng-编程思维

目的 通过一个简单的项目,在原来的文章基础上完善一下常用的几种WebApi编写方式以及请求方式,一方面是用于给我一个前端朋友用来学习调用接口,另一方面让我测试HttpClient的一些效果。 本文示例代码环境:vs2022、net6 准备 新创建了一个.Net WebAPI程序,安装组件 <ItemGroup> <PackageReference Include="Au

【asp.net core】自定义session的存储方式_东邪独孤-编程思维

在开始今天的表演之前,老周先跟大伙伴们说一句:“中秋节快乐”。 今天咱们来聊一下如何自己动手,实现会话(Session)的存储方式。默认是存放在分布式内存中。由于HTTP消息是无状态的,所以,为了让服务器能记住用户的一些信息,就用到了会话。但会话数据毕竟是临时性的,不宜长久存放,所以它会有过期时间。过期了数据就无法使用。比较重要的数据一般会用数据库来长久保存,会话一般放些状态信息。比如你登录了没

sql server_查询表结构_清清飞扬-编程思维

From:  https://www.cnblogs.com/gygtech/p/15423720.html   方式一:显示多种信息  sp_help table_name  方式二:只显示字段  sp_columns table_name  方式三:自定义 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 SELECT          

des加密_深入学习ing-编程思维

DES加密是第一次使用,现在已经是一种过时的加密方式了,由于需求用到,这里列举一个示例: 核心代码: /// <summary> /// DES加密 /// </summary> /// <param name="data">加密字符串</param> /// <param name="key">商户私钥</param>

在opencloudos 上安装.net 6_张善友-编程思维

开源操作系统社区 OpenCloudOS 由腾讯与合作伙伴共同倡议发起,是完全中立、全面开放、安全稳定、高性能的操作系统及生态。OpenCloudOS 沉淀了多家厂商在软件和开源生态的优势,继承了腾讯在操作系统和内核层面超过10年的技术积累,在云原生、稳定性、性能、硬件支持等方面均有坚实支撑,可以平等全面地支持所有硬件平台。OpenCloudOS 其基础库和用户态组件完全与 CentOS 8兼容

【asp.net core】在blazor中获取 http 上下文信息_东邪独孤-编程思维

今天咱们来扯一下 Blazor 应用程序怎么访问 HttpContext。其实这句话有坑,为了避免大伙伴们掉茅坑,老周直接说明:Blazor 是不能访问 HttpContext 的。哪怕你在服务容器中注册了 IHttpContextAccessor 也不行,无法返回有效的上下文。 为啥?这得从 Blazor 的运行方式说起。银河系周知,Blazor 允许用 .NET 代码编写客户端逻辑,在某种程