随笔分类 - C#
使用MASA全家桶从零开始搭建IoT平台(六)使用规则引擎实现告警通知
摘要:[TOC](文章目录) # 前言 数据的挑战: 物联网的发展带来了海量的数据。这些数据来源多样,格式不一,处理起来十分复杂。同时,物联网中的设备数量庞大,需要设备间进行高效的协同和管理,这也对数据处理提出了更高的要求。如何从这些复杂的数据中提取有价值的信息,成为了一个重要的问题。在传统的IoT平台中
7.依赖注入
摘要:按照约定的注册 Masa引入了按照约定进行服务注册,依据约定大于配置,开发者无需做任何事,框架会自动完成注册 依赖接口 ISingletonDependency: 注册生命周期为Singleton的服务 IScopedDependency: 注册生命周期为Scoped的服务 ITransientDe
MASA Auth - 从用户的角度看整体设计
摘要:用户 在系统里,用户是一个核心概念。它代表了一个人的唯一身份标识,除了与角色、团队、组织架构等有关,甚至还会影响到在同一个界面不同的用户操作流程与显示内容都会发生变化,再复杂一点的话,或许在同一个系统内的一个用户进入到不同产品后的身份也会变化 用户与角色 用户可以拥有一个或多个角色,让角色作为权限组
MASA Auth - SSO与Identity设计
摘要:AAAA AAAA即认证、授权、审计、账号(Authentication、Authorization、Audit、Account)。在安全领域我们绕不开的两个问题: 授权过程可靠:让第三方程序能够访问所需资源又不泄露用户数据,常用的多方授权协议主要有 OAuth2 和 SAML 2.0 授权结果可控
MASA Auth - 权限设计
摘要:权限术语 Subject:用户,用户组 Action:对Object的操作,如增删改查等 Object:权限作用的对象,也可以理解为资源 Effect:规则的作用,如允许,拒绝 Condition:生效条件 Permission:允许(拒绝)用户(用户组)在条件允许下对对象(资源)的动作 Role:
Masa Blazor自定义组件封装
摘要:前言 实际项目中总能遇到一个"组件"不是基础组件但是又会频繁复用的情况,在开发MASA Auth时也封装了几个组件。既有简单定义CSS样式和界面封装的组件(GroupBox),也有带一定组件内部逻辑的组件(ColorGroup)。 本文将一步步演示如何封装出一个如下图所示的ColorGroup组件,
在MAUI中使用Masa Blazor
摘要:Masa Blazor是什么 在此之前我们已经介绍过什么是Masa Blazor,以及如何使用Masa Blazor,如果还有不了解Masa Blazor的同学可以看我上篇文章【初识Masa Blazor】。那么今天就带大家探索一下如何在MAUI中使用Masa Blazor,那么我们先来了解一下什么
5. 堪比JMeter的.Net压测工具 - Crank 实战篇 - 接口以及场景压测
摘要:1. 前言 通过之前的学习,我们已经掌握了crank的配置以及对应http基准工具bombardier、wrk、wrk2的用法,本篇文章介绍一下如何将其用于实战,在实际的项目中我们如何使用crank来完成压测任务。 2. 项目背景 目前有一个项目,我们希望通过压测来了解其QPS、吞吐量、以及临界值,
Masa Blazor in Blazor Day
摘要:2022年第一场Blazor中文社区的开发者分享活动,我们的团队也全程参与其中,在议程中,也分享了我们团队的Blazor 管理后台模板,针对于Blazor,先科普一波,避免有些朋友不了解,Blazor是微软推出的基于.NET的前端技术。利用现有的.NET生态,受于.NET的性能,可靠性和安全性,不仅
2022首场MASA技术团队黑客松大赛完美落幕!精彩集锦
摘要:Masa技术团队在2021年创立,这一年我们团队发布了我们第一个产品,Masa Blazor。登上了.NET Conf China,我们承诺,开源我们的产品,为开源社区增砖加瓦,一路上收获技术社区文章类的各种奖项... 2022年,我们在路上... 开年之初,为了鼓励更多的开发同学参与到项目落地的实
堪比JMeter的.Net压测工具 - Crank 入门篇
摘要:1. 前言 Crank 是.NET 团队用来运行基准测试的基准测试基础架构,包括(但不限于)来自TechEmpower Web 框架基准测试的场景,是2021年.NET Conf 大会上介绍的一项新的项目,其前身是Benchmarks。 Crank目标之一是为开发人员提供一种工具,让他们能够非常轻松
C#8.0 可空引用类型
摘要:介绍 我们的项目代码运行时最频繁的错误之一就是 System.NullReferenceException 异常,c#8.0增加的可为空引用类型就是用来帮助开发者降低甚至消除NULL异常。我们需要注意的是可空引用类型是语法级别的功能,也就是代码编写的时候就会受到编程约束,这个与可为空值类型是不一样的