- 博客(58)
- 资源 (1)
- 收藏
- 关注
原创 人人都会Blazor —— 3.7 组件生命周期
只有完全搞明白了组件的生命周期,你才能把组件玩的游刃有余,不仅仅需要深厚的功底和基础,还得了解非托管资源的垃圾回收机制,否则,一旦页面上组件过多,肯定就会引起性能的问题。那么回过头来了解生命周期自然也是必不可少的知识。
2023-12-15 00:00:00 199
原创 人人都会Blazor —— 3.5 布局
有些应用元素(例如菜单、版权消息和公司徽标)通常是应用整体布局的一部分。将这些元素的标记副本放入应用的所有组件是一种效率较低的做法。每次更新其中一个元素时,都必须同时更新使用该元素的每个组件。这种方法的维护成本很高,并且如果缺少更新,还可能会导致内容不一致。那么 “布局” 就是用来解决这些问题的。
2023-12-05 00:00:00 322
原创 人人都会Blazor—— 3.4 事件处理
某些情况,你可以自定义事件,例如,把和onmouseout给结合起来使用。通常,通过以下步骤启用具有自定义事件参数的自定义事件。在wwwroot/{PackgeId}或{AssemblyName}.lib.module.js创建一个 JS 文件,并有一个导出函数:return {});固定的 JS 文件名称:程序集.lib.module.js 或 包名称.lib.module.js:浏览器能识别的事件,如 click change 等:需要返回与下面事件参数相等的对象。
2023-11-30 00:00:00 174
原创 人人都会Blazor —— 3.3 参数
参数是最常用的组件特性,需要非常熟练的掌握才会事半功倍,同样地,组件的参数设计也会让使用者不禁的感叹设计者的水平。
2023-11-24 09:58:48 285
原创 人人都会Blazor—— 3.2 组件
路由是页面访问的基础,笔者建议,对那些不需要使用导航访问到的组件,不要定义路由,以免造成不必要的成本,例如显示异常的解释成本(这不是bug…)。
2023-11-24 09:57:50 83
原创 人人都会Blazor—— 3.1 路由和导航
导航和路由是最基础且很常用的知识,你可以根据自己的需求去定义路由导航。当然,好的路由设计可以使你的站点看起来更专业,这也是体现你水平的最佳时机。
2023-11-24 09:54:37 141
原创 人人都会Blazor —— 2.3 依赖注入
依赖注入技术已经是 .NET 中非常基础且成熟的技术,所以这里就不作为重点进行介绍了。就是要注意的是在 Blazor 中,依赖注入的生命周期会有所变化,特别是 WebAssembly 中,没有所谓的 Scoped,即使你注册成为了 Scoped 服务,也会被当作 Singleton 方式来对待,这点一定要注意。
2023-11-20 00:00:00 201
原创 人人都会 Blazor —— 2.2 启动项目
现在你已经掌握了 Blazor 两种托管模式,包括他们的启动顺序和注意的地方,需要特别注意的是他们的不同点,因为他们是不一样的托管模式,要在思维上有所区别。
2023-11-15 09:00:00 105
原创 人人都会的 Blazor —— 1.3 项目结构
作者推荐使用【双 Blazor Server/WebAssembly】的解决方案结构来进行开发,毕竟很多时候,项目会根据当前的市场需求进行变化,这样的话可以根据市场反馈及时做出托管模式的调整和兼容,做到临危不乱,领导自然也就更喜欢这样的下属咯。当然,基于【ASP.NET Core 托管的 WebAssembly】模式也是一个不错的选择。现在,基本的知识已经了解了,那接下来就可以正式进入 Blazor 的世界了。
2023-11-07 15:00:00 215
原创 人人都会 Blazor —— 1.1 概述
Blazor 这个名字是两个单词改进而来的,即 Browser + Razor。从名字不难看出,它是基于 Razor 语法的浏览器框架。
2023-10-26 20:13:13 237
原创 Blazor ——支持 UI 片段的 RenderFragment
使用真实的示例说清楚 RenderFragment 和 RanderFragment<TValue> 的用法和区别
2021-03-09 17:05:00 3646
原创 回到最初的身份标识——Identity
身份标识是 .NET 安全体系中最最基础的概念,称为 Identity。在任何一个系统中,每一次对系统的访问应该都需要对其身份进行标识,例如游客。身份标识在命名空间 System.Security 中,定义了一个接口 IIdentity,里面有一个属性 Name。这个接口就是用来表示身份,Name 是身份标识的唯一名称,例如用户名或者邮箱。...
2021-01-19 17:21:47 1422
原创 Blazor —— 大家来找茬之 ServerSide 和 WebAssembly
再次强调,Blazor 是一套前端框架,和 Vue/Angular/React 三大框架是一回事。不同的是 Blazor 采用的是 C# 作为编程语言,而它可以基于 .NET Core 的体系,与 MVC / Razor Page / WebApi 框架进行混用,并且开发人员可以选择成为全栈 or 纯前端的模式。
2020-07-21 10:58:08 2342
原创 Blazor —— 用更能装X的方式编写组件(RenderTreeBuilder)
用 `razor` 的方式编写组件,这个学习过前端的应该都可以完成,但很多时候,我们需要学习更加高深的技术,**不光是可以来装X,更是可以把X升级成高处不胜寒的王者**。所以就来教教如何使用纯代码的方式来编写组件。
2020-07-12 13:10:42 2358 16
原创 Blazor —— 探索razor组件背后的秘密,你绝对想象不到
一般情况下,我们可以使用 .razor 文件来编写组件,但是它背后的秘密你们知道吗?如果不用 .razor 的文件,我们又如何可以编写组件呢?
2020-07-05 15:30:10 2371
原创 Blazor —— 几乎每个系统都会用到的功能,表单验证!!
前言表单验证是任何系统都会存在的功能。如果你是使用 Blazor 中内置的验证组件,你需要提前掌握 System.ComponentModel.DataAnnotations 验证注解特性的用法。
2020-07-02 16:19:01 3843
原创 Blazor —— 深入讲解组件的生命周期
当我们学会写一些组件以后,就需要来了解一下一个组件从加载到渲染的整个生命周期,以此来知道我们可以在什么点对组件进行优化。
2020-07-01 12:12:41 4622
原创 Blazor ——在 MVC 项目中兼容 Blazor 开发的组件
前言在 Blazor 出现之前,已经有很多大部分项目是用 MVC或 Razor 页面开发的,如果完全这个时候想要替换 Blazor 组件,重构成本非常的大。因此这一篇文章会教你如何在 MVC 项目中兼容 Blazor 组件。一定要先将 .NET Core 版本升级到 3.x+兼容 Blazor 只需要以下几个步骤:安装包 Microsoft.AspNetCore.Components添...
2020-04-24 16:56:49 3851
原创 Blazor—— 父子组件、嵌套组件以及平行组件,他们到底是如何交互通信的呢?
前言现在的前端开发,几乎都是基于组件的研发模式,即把每一块独立的功能切割成独立的组件,然后在大组件里根据需要自由组合这些小组件,使得组件的复用性提高,而小组件更容易测试和修改,从而提升研发的效率。比如按钮、文本框、对话框、点评星星等等都是可以被任意复用的小组件。那么问题来了,组件之间是怎么进行通信呢?
2020-04-16 23:49:08 4592
原创 Blazor —— 让自定义组件也能拥有双向绑定功能
前言内置的 Input 控件是一个双向绑定控件,我们使用 @bind-Value 就可以对文本框的 Value 进行双向绑定的实现。那我们可以自定义这种双向绑定组件吗?当然可以。示例场景很简单的需求,当点击按钮后,显示选择的水果名称。这个是水果按钮组的代码:<div class="btn-group"> @foreach (var item in Fruits) ...
2020-04-10 22:55:43 4327
原创 Blazor —— 前端框架的特色功能,数据绑定!!
前言我相信你已经掌握了Blazor的基本知识和概念,大致知道了它的一个工作原理。再次强调一下,Blazor 是一门 “基于C#语言的前端技术”。因此,它的数据绑定也是基于实体的。场景应用当文本框输入值时,文本框下面的文本会跟着一起变化。...
2020-03-31 11:38:05 6128
原创 Blazor —— 教你从零搭建 Blazor for Server-Side 项目
这篇文章不会介绍什么是 Blazor,若想理解基本概念,请自行百度或查看微软官方文档。这篇文章是偏向技术的,也就是说它不是概念,而是教你从零开始搭建一个 Blazor 项目,前提是你必须先掌握 ASP.NET CORE 的基本知识。
2019-10-11 10:37:58 8622 4
原创 一个在 .NET 一线战斗了十年的 C# 程序员的内心独白
估计看到标题,大部分人都会说:哇!大牛!膜拜……之类的。至于是不是大牛,那我不知道,毕竟我依然有很多地方不懂,特别是现在已经流行的 Redis ,集群,那些所谓搭建高性能架构的技术,我一个都没用过,毕竟我不在互联网公司,做的基本上都是全栈相关的工作,从前端到后端再到数据库,除了设计不搞,其他都磨练出来了。写这篇文章其实主要是心寒和有点失落吧,首先,在各大招聘网站上 .NET 的需求越来越少,...
2019-08-29 15:18:28 1818 5
转载 惹恼程序员的十件事(转)
程序员应该是一个比较特殊的群体,他们因为长期和电脑打交道所养成的性格和脾气也是比较相近的。当然,既然是人,当然是会有性格的,也是会有脾气的。下面,让我来看看十件能把程序惹毛了的事情。一方面我们可以看看程序员的共性,另一方面我们也可以看看程序员的缺点。无论怎么样,我都希望他们对你的日常工作都是一种帮助。第十位 程序注释程序注释本来是一些比较好的习惯,当程序员老手带新手的时候,总是会告诉新手,...
2019-08-15 16:58:43 378
转载 TDD并不是看上去的那么美(转)
春节前的一篇那些炒作过度的技术和概念中对敏捷和中国ThoughtWorks的微辞引发了很多争议,也惊动了中国ThoughtWorks公司给我发来了邮件想来找我当面聊聊。对于Agile的Fans们,意料之中地也对我进行了很多质疑和批评。我也回复了许多评论。不过,我的那些回复都是关于中国ThoughtWorks咨询师以及其咨询的方法的。我对Agile方法论中的具体内容评价的不是很多,所以,我想不妨讨论...
2019-08-15 16:54:19 298
转载 十条不错的编程观点(转)
在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助。1) The only “bes...
2019-08-15 16:52:57 271
原创 剖析 Microsoft.AspNetCore.Identity 的精髓 ——配置详解
学习目录前言初级菜鸟入门配置详解简单二次开发进阶UserManager 解析RoleManager 解析Validator 解析SignInManager 解析为什么会有配置正常情况下,任何一个产品使用的用户,都会根据自身的业务要求做一些定制化的功能,比如有些想要对用户名做限制,有些需要在密码做限制等等,那软件开发商需要提取这些功能配置的需求,然后做成系统可...
2019-07-21 15:10:22 6398 3
原创 初始化属性和构造方法初始化属性的执行顺序
什么是初始化属性在声明属性的同时直接给属性进行初始化。public IEnumerable<Score> MyScores { get; set; } = new HashSet<Score>();若当一个类的属性是引用类型时,我们必须要先初始化该引用类型,才可以操作该类型。比如:public class User{ public int Id { ...
2019-06-09 11:34:37 6811
原创 深入浅出的理解依赖注入(DI)和控制反转(IoC)的原理
依赖注入(DI)和控制反转(IoC)在现代研发技术上已经不陌生了,而陌生的却是应用这门技术的很多工程师,网上的很多资料大多数都是讲解如何使用框架来实现,偏于执行层面,而我这篇文章则偏于概念,让你彻底理解他们两者的关系以及原理和场景。但很多人则把这两个概念搞混淆了,通俗地说:控制反转(IoC)是一种设计理念,依赖注入(DI)是这种理念的实践。
2019-05-19 11:51:40 2334 4
原创 剖析 Microsoft.AspNetCore.Identity 的精髓 ——菜鸟入门
关于如何使用博客园的童鞋们已经有很多这样的教程了,所以我就不用再这里班门弄斧咯,用最快的方式简单进行介绍。我直接创建一个微软的示例项目和代码。这个是 VS2019 的界面。下图是 .Net Core 2.1+ 版本,微软已经把默认的细节封装起来了这是简单的项目结构,默认是基于 Microsoft.EntityFrameworkCore 的 ORM 框架来操作数据库的。我们先打开【D...
2019-05-03 12:10:37 7511 1
原创 Azure DevOps —— Azure Test Plan 测试管理
Azure Test Plan是面向测试人员的一个模块,可以管理测试计划、测试套件以及测试用例,同时微软还为测试的执行提供了一个很牛逼的插件——Test Explorer,这东西可以直接安装在火狐或者谷歌浏览器上,然后直接截图,创建 bug,是你以前都没使用过的。先普及一下测试相关的知识一般来说,测试分为3个大块:1、测试用例(Test Case)这是测试的最小单位,就是要测试的具体内容...
2019-05-01 19:17:23 6894 18
原创 剖析 Microsoft.AspNetCore.Identity 的精髓 —— 前言
什么是 IdentityIdentity 在英文中的意思是:身份、标识,通俗易懂一些说白了就是用户管理。基本上每一个系统都绕不开这个功能,用户、权限的管理。AspNetCore 的 Identity 有以下特点:包含了用户管理、角色管理、权限管理以及认证与授权机制;它是一个框架,不是一个完整的系统,你也可以认为是一个中间件;它面向的是开发人员,不是业务人员和用户;AspNetC...
2019-03-31 18:05:24 3815
原创 Azure DevOps —— Azure Board 之迭代开发
大概介绍了敏捷开发和迭代周期,并一步步教你在 Azure Board 中如何规划你的工作、用户故事,以及如何使用冲刺面板管理任务。
2019-03-31 11:33:35 2427
原创 Azure DevOps —— Azure Board 之 长篇故事、特性、用户情景(故事)的用法
前提我以前在之前的文章里大概介绍了 Azure Board 的基本使用,可以回看《Azure Board 的基本使用》。如果你想使用 Azure Board 来安排工作的话,请提前了解《敏捷开发》的相关知识。作者将使用 “Agile” 作为项目的模板,不明白的先阅读《AzureDevOps 的工作流进程的区别》。使用 Backlog 来做计划什么是 Backlog?这是敏捷开发中的一个...
2019-03-24 10:31:22 7714 4
原创 Azure DevOps —— Azure Artifacts 包管理平台
Azure Artifacts其实就是你自己的包管理服务。就好比现有的 maven(java)、nuget(.net)、pip(python)、npm(javascript) 等等这种包管理服务。很多时候企业级的包,不会也不可能让你放到公共平台上,所以企业内部需要搭建自己的包管理平台。因此 Azure Artifacts 就是这么一个服务平台。什么叫包管理包(Artifacts),正确翻译...
2019-03-03 12:14:54 6543
原创 Azure DevOps —— Azure Pipeline
Azure Pipeline这是整个 Azure DevOps 的重头戏,也是微软愿意独立开放和打重金宣传的模块。虽然其他模块(限本地版)可以自由的开启和关闭,但微软对该模块有一个强有力的口号:*“Build in any program, release to any platform”,也就是说,它可以编译任何程序,然后发布到任意平台。当然,它也是做持续集成(CI)和持续部署(CD)的关键...
2019-02-24 19:15:37 15031 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人