自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

不忘初心

功崇惟志、业广惟勤

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 Blazor ——支持 UI 片段的 RenderFragment

使用真实的示例说清楚 RenderFragment 和 RanderFragment<TValue> 的用法和区别

2021-03-09 17:05:00 1539

原创 回到最初的身份标识——Identity

身份标识是 .NET 安全体系中最最基础的概念,称为 Identity。在任何一个系统中,每一次对系统的访问应该都需要对其身份进行标识,例如游客。身份标识在命名空间 System.Security 中,定义了一个接口 IIdentity,里面有一个属性 Name。这个接口就是用来表示身份,Name 是身份标识的唯一名称,例如用户名或者邮箱。...

2021-01-19 17:21:47 667

原创 Blazor —— 大家来找茬之 ServerSide 和 WebAssembly

再次强调,Blazor 是一套前端框架,和 Vue/Angular/React 三大框架是一回事。不同的是 Blazor 采用的是 C# 作为编程语言,而它可以基于 .NET Core 的体系,与 MVC / Razor Page / WebApi 框架进行混用,并且开发人员可以选择成为全栈 or 纯前端的模式。

2020-07-21 10:58:08 1811

原创 Blazor —— 用更能装X的方式编写组件(RenderTreeBuilder)

用 `razor` 的方式编写组件,这个学习过前端的应该都可以完成,但很多时候,我们需要学习更加高深的技术,**不光是可以来装X,更是可以把X升级成高处不胜寒的王者**。所以就来教教如何使用纯代码的方式来编写组件。

2020-07-12 13:10:42 1363 16

原创 Blazor —— 探索razor组件背后的秘密,你绝对想象不到

一般情况下,我们可以使用 .razor 文件来编写组件,但是它背后的秘密你们知道吗?如果不用 .razor 的文件,我们又如何可以编写组件呢?

2020-07-05 15:30:10 1736

原创 Blazor —— 几乎每个系统都会用到的功能,表单验证!!

前言表单验证是任何系统都会存在的功能。如果你是使用 Blazor 中内置的验证组件,你需要提前掌握 System.ComponentModel.DataAnnotations 验证注解特性的用法。

2020-07-02 16:19:01 2653

原创 Blazor —— 母版页的定义和使用(Layout)

母版页在项目中那是必然要用的功能,那你咋知道怎么定义和使用吗?

2020-07-01 15:20:12 2486 2

原创 Blazor —— 深入讲解组件的生命周期

当我们学会写一些组件以后,就需要来了解一下一个组件从加载到渲染的整个生命周期,以此来知道我们可以在什么点对组件进行优化。

2020-07-01 12:12:41 2839

原创 Blazor ——在 MVC 项目中兼容 Blazor 开发的组件

前言在 Blazor 出现之前,已经有很多大部分项目是用 MVC或 Razor 页面开发的,如果完全这个时候想要替换 Blazor 组件,重构成本非常的大。因此这一篇文章会教你如何在 MVC 项目中兼容 Blazor 组件。一定要先将 .NET Core 版本升级到 3.x+兼容 Blazor 只需要以下几个步骤:安装包 Microsoft.AspNetCore.Components添...

2020-04-24 16:56:49 3006

原创 Blazor—— 父子组件、嵌套组件以及平行组件,他们到底是如何交互通信的呢?

前言现在的前端开发,几乎都是基于组件的研发模式,即把每一块独立的功能切割成独立的组件,然后在大组件里根据需要自由组合这些小组件,使得组件的复用性提高,而小组件更容易测试和修改,从而提升研发的效率。比如按钮、文本框、对话框、点评星星等等都是可以被任意复用的小组件。那么问题来了,组件之间是怎么进行通信呢?

2020-04-16 23:49:08 3105

原创 Blazor —— 让自定义组件也能拥有双向绑定功能

前言内置的 Input 控件是一个双向绑定控件,我们使用 @bind-Value 就可以对文本框的 Value 进行双向绑定的实现。那我们可以自定义这种双向绑定组件吗?当然可以。示例场景很简单的需求,当点击按钮后,显示选择的水果名称。这个是水果按钮组的代码:<div class="btn-group"> @foreach (var item in Fruits) ...

2020-04-10 22:55:43 2658

原创 Blazor —— 前端框架的特色功能,数据绑定!!

前言我相信你已经掌握了Blazor的基本知识和概念,大致知道了它的一个工作原理。再次强调一下,Blazor 是一门 “基于C#语言的前端技术”。因此,它的数据绑定也是基于实体的。场景应用当文本框输入值时,文本框下面的文本会跟着一起变化。...

2020-03-31 11:38:05 5125

原创 Blazor —— 教你从零搭建 Blazor for Server-Side 项目

这篇文章不会介绍什么是 Blazor,若想理解基本概念,请自行百度或查看微软官方文档。这篇文章是偏向技术的,也就是说它不是概念,而是教你从零开始搭建一个 Blazor 项目,前提是你必须先掌握 ASP.NET CORE 的基本知识。

2019-10-11 10:37:58 7079 4

原创 一个在 .NET 一线战斗了十年的 C# 程序员的内心独白

估计看到标题,大部分人都会说:哇!大牛!膜拜……之类的。至于是不是大牛,那我不知道,毕竟我依然有很多地方不懂,特别是现在已经流行的 Redis ,集群,那些所谓搭建高性能架构的技术,我一个都没用过,毕竟我不在互联网公司,做的基本上都是全栈相关的工作,从前端到后端再到数据库,除了设计不搞,其他都磨练出来了。写这篇文章其实主要是心寒和有点失落吧,首先,在各大招聘网站上 .NET 的需求越来越少,...

2019-08-29 15:18:28 1433 5

转载 惹恼程序员的十件事(转)

程序员应该是一个比较特殊的群体,他们因为长期和电脑打交道所养成的性格和脾气也是比较相近的。当然,既然是人,当然是会有性格的,也是会有脾气的。下面,让我来看看十件能把程序惹毛了的事情。一方面我们可以看看程序员的共性,另一方面我们也可以看看程序员的缺点。无论怎么样,我都希望他们对你的日常工作都是一种帮助。第十位 程序注释程序注释本来是一些比较好的习惯,当程序员老手带新手的时候,总是会告诉新手,...

2019-08-15 16:58:43 245

转载 TDD并不是看上去的那么美(转)

春节前的一篇那些炒作过度的技术和概念中对敏捷和中国ThoughtWorks的微辞引发了很多争议,也惊动了中国ThoughtWorks公司给我发来了邮件想来找我当面聊聊。对于Agile的Fans们,意料之中地也对我进行了很多质疑和批评。我也回复了许多评论。不过,我的那些回复都是关于中国ThoughtWorks咨询师以及其咨询的方法的。我对Agile方法论中的具体内容评价的不是很多,所以,我想不妨讨论...

2019-08-15 16:54:19 200

转载 十条不错的编程观点(转)

在Stack Overflow上有这样的一个贴子《What’s your most controversial programming opinion?》,翻译成中文就是“你认为最有争议的编程观点是什么?”,不过,在400多个主回贴,以及千把个子回贴中,好像并不是很有争议,而是令人相当的茅塞顿开,下面罗列一些,并通过我自己的经历和理解发挥了一些,希望对你有帮助。1) The only “bes...

2019-08-15 16:52:57 161

原创 剖析 Microsoft.AspNetCore.Identity 的精髓 ——配置详解

学习目录前言初级菜鸟入门配置详解简单二次开发进阶UserManager 解析RoleManager 解析Validator 解析SignInManager 解析为什么会有配置正常情况下,任何一个产品使用的用户,都会根据自身的业务要求做一些定制化的功能,比如有些想要对用户名做限制,有些需要在密码做限制等等,那软件开发商需要提取这些功能配置的需求,然后做成系统可...

2019-07-21 15:10:22 5574 3

原创 初始化属性和构造方法初始化属性的执行顺序

什么是初始化属性在声明属性的同时直接给属性进行初始化。public IEnumerable<Score> MyScores { get; set; } = new HashSet<Score>();若当一个类的属性是引用类型时,我们必须要先初始化该引用类型,才可以操作该类型。比如:public class User{ public int Id { ...

2019-06-09 11:34:37 5692

原创 深入浅出的理解依赖注入(DI)和控制反转(IoC)的原理

依赖注入(DI)和控制反转(IoC)在现代研发技术上已经不陌生了,而陌生的却是应用这门技术的很多工程师,网上的很多资料大多数都是讲解如何使用框架来实现,偏于执行层面,而我这篇文章则偏于概念,让你彻底理解他们两者的关系以及原理和场景。但很多人则把这两个概念搞混淆了,通俗地说:控制反转(IoC)是一种设计理念,依赖注入(DI)是这种理念的实践。

2019-05-19 11:51:40 2058 4

原创 剖析 Microsoft.AspNetCore.Identity 的精髓 ——菜鸟入门

关于如何使用博客园的童鞋们已经有很多这样的教程了,所以我就不用再这里班门弄斧咯,用最快的方式简单进行介绍。我直接创建一个微软的示例项目和代码。这个是 VS2019 的界面。下图是 .Net Core 2.1+ 版本,微软已经把默认的细节封装起来了这是简单的项目结构,默认是基于 Microsoft.EntityFrameworkCore 的 ORM 框架来操作数据库的。我们先打开【D...

2019-05-03 12:10:37 6623

原创 Azure DevOps —— Azure Test Plan 测试管理

Azure Test Plan是面向测试人员的一个模块,可以管理测试计划、测试套件以及测试用例,同时微软还为测试的执行提供了一个很牛逼的插件——Test Explorer,这东西可以直接安装在火狐或者谷歌浏览器上,然后直接截图,创建 bug,是你以前都没使用过的。先普及一下测试相关的知识一般来说,测试分为3个大块:1、测试用例(Test Case)这是测试的最小单位,就是要测试的具体内容...

2019-05-01 19:17:23 5894 16

原创 剖析 Microsoft.AspNetCore.Identity 的精髓 —— 前言

什么是 IdentityIdentity 在英文中的意思是:身份、标识,通俗易懂一些说白了就是用户管理。基本上每一个系统都绕不开这个功能,用户、权限的管理。AspNetCore 的 Identity 有以下特点:包含了用户管理、角色管理、权限管理以及认证与授权机制;它是一个框架,不是一个完整的系统,你也可以认为是一个中间件;它面向的是开发人员,不是业务人员和用户;AspNetC...

2019-03-31 18:05:24 3218

原创 Azure DevOps —— Azure Board 之迭代开发

大概介绍了敏捷开发和迭代周期,并一步步教你在 Azure Board 中如何规划你的工作、用户故事,以及如何使用冲刺面板管理任务。

2019-03-31 11:33:35 2080

原创 Azure DevOps —— Azure Board 之 长篇故事、特性、用户情景(故事)的用法

前提我以前在之前的文章里大概介绍了 Azure Board 的基本使用,可以回看《Azure Board 的基本使用》。如果你想使用 Azure Board 来安排工作的话,请提前了解《敏捷开发》的相关知识。作者将使用 “Agile” 作为项目的模板,不明白的先阅读《AzureDevOps 的工作流进程的区别》。使用 Backlog 来做计划什么是 Backlog?这是敏捷开发中的一个...

2019-03-24 10:31:22 5991 4

原创 Azure DevOps —— Azure Artifacts 包管理平台

Azure Artifacts其实就是你自己的包管理服务。就好比现有的 maven(java)、nuget(.net)、pip(python)、npm(javascript) 等等这种包管理服务。很多时候企业级的包,不会也不可能让你放到公共平台上,所以企业内部需要搭建自己的包管理平台。因此 Azure Artifacts 就是这么一个服务平台。什么叫包管理包(Artifacts),正确翻译...

2019-03-03 12:14:54 5826

原创 Azure DevOps —— Azure Pipeline

Azure Pipeline这是整个 Azure DevOps 的重头戏,也是微软愿意独立开放和打重金宣传的模块。虽然其他模块(限本地版)可以自由的开启和关闭,但微软对该模块有一个强有力的口号:*“Build in any program, release to any platform”,也就是说,它可以编译任何程序,然后发布到任意平台。当然,它也是做持续集成(CI)和持续部署(CD)的关键...

2019-02-24 19:15:37 13370 5

原创 Azure DevOps —— Azure Repos 代码仓库的基本介绍

什么是Azure ReposAzure Repos 实际上就是 Repository,代码的仓库,也就是类似于 Github,SVN,TFVC,Subversion 等等,对代码进行统一托管的服务。在 Azure DevOps 中可以有两种托管方式,一种是 git,另一种是 TFVC,这个是在创建项目时就必须要确定的,可以点这里回顾他们的区别。我用目前最流行的 git 来讲解基本的使用。...

2019-02-17 20:14:12 21916 6

原创 Azure DevOps —— Azure Board 的基本使用

什么是 Azure Board?用看板的形式来可视化你的工作。它包含了工作项(Work Item)、板块(Board)、积压工作(Backlog)、冲刺或迭代(Sprint)以及查询(Query)这个部分。我创建项目时使用了 Agile 作为工作项进程,因此我的工作项类型有如下内容:如果是用 Scrum 作为工作项进程的话:之前说过,敏捷和Scrum是有本质区别的,这个将在日后进...

2019-02-11 14:37:28 18116 12

原创 Azure DevOps ——创建项目 —— 版本和工作流进程的区别

之前说过了微软的 Azure DevOps 分为云版 Azure DevOps Service 和本地版 Azure DevOps Server,现在我们就开始来一点点教大家如何使用里面的几大模块。Azure Board看板,是敏捷开发里面对任务进行可视化管理的一种方式,几乎所有的敏捷开发管理工具都具备看板这种功能,可能大家最最熟悉的是 JIRA 了。如果你不了解敏捷开发,那么你可以跳过这...

2019-02-10 13:50:00 17872 3

原创 Azure DevOps Server 的安装教程

Azure DevOps Server 安装指南下载链接:https://azure.microsoft.com/zh-cn/services/devops/server/1、安装好了会出现以下界面:其实微软的产品,你就跟着下一步下一步就好了,没什么难度。2、新部署如果你是从 TFS 20xx 升级上来的,就选择已有部署。3、部署类型如果你不需要使用 SQL Reporting S...

2019-02-03 19:20:27 13278 16

原创 认识一下 Azure DevOps

Azure DevOps什么是 Azure DevOps?跟大家说一个它的前身,VSTS(Visual Studio Team Service),什么?还是不知道?那再跟你说一个,TFS(Team Foundation Server)。没错,很多 .NET 资深的工程师都能耳熟能详这个名字,现在改名叫 Azure DevOps。Azure DevOps 有云版和本地版版,云版:http://d...

2019-02-03 18:31:30 39707 18

原创 你不得不知道的 .NET CORE—— Startup 的秘密

我们都知道,在 Main 函数中必须要指定一个 Startup 启动类,但下面的内容鲜为人知。可以指定多个 Startupstatic void Main(string[] args){ WebHost.CreateDefaultBuilder(args) .UseStartup&lt;Starup1&gt;() .UseStartup&lt;Startup2&gt;() .U...

2018-12-26 20:18:49 2902

原创 你不得不知道的 .NET CORE —— .NET Framework, .NET Core 和 .NET Standard 的区别

一张图即可明白其中奥秘.NET Framework 和 .NET Core 是平台应用框架,而 .NET Standard 是 .NET 底层库。因此只要用 .NET Standard 工程来写的代码可以直接在上层的平台应用框架上使用。你的库需要在多平台应用上使用,就使用 .NET Standard 来写。经验与技巧在你的解决方案中,可以将入口项目选择为 .NET Framework...

2018-12-26 19:39:49 11980

原创 走进 ASP.NET Core 的世界——前言

学 Core 之前的预防针一旦你开始了 Core 之旅,一开始会比较吃力,因为它不像 .NET Framework 那样妥妥拽拽就能出结果,有时候你需要懂更多的其他技术才能领悟其中的奥秘,我会一一介绍:依赖注入(Dependency Injection)这是一项烂大街的技术了,在 Framework 的世界,我们使用 Autofac 框架来帮我们完成 .NET 的依赖注入,与其说在 C...

2018-12-23 21:49:47 215 1

原创 细说VS MSBuild 和 Framework 的区别

如今已经是 VS2017 横行的时代,而据我所知,大部分人还停留在使用 VS2015 VS2013 或更低的版本,主要是因为他们参与的项目基本使用这几个VS的版本开发的。眼红VS2017却不敢升级,主要还是害怕升级后出现的坑。哈哈,没关系,今天我就跟你们分享一下VS的原理。首先,认识一下几个关键词:Framework 版本,MSBuild,Visual StudioVisual St...

2018-05-04 09:40:52 5999 2

原创 开发支付宝请求的流程以及遇到的坑

该帖子主要目标是:想开发自己SDK的研发人员支付宝请求流程首先根据支付宝的要求,生成签名,组装参数然后向支付宝发起支付支付宝会根据你组装好的参数验证签名签名验证成功,则开始验证参数验证成功,支付宝会返回成功的响应结果,code 为 10000响应后,拿到一个支付宝的签名,需要你在本地验签若验签成功,流程结束支付宝提供了各个语言的SDK,用户可以自行下载,或如...

2018-05-01 13:48:42 3772

原创 利用 MVC 的分布视图完成 ajax 加载

很多时候我们都需要使用 ajax 来加载列表页面,最普遍最耗时的无非就是在 js 中拼串,比如下面这段代码:$.get('/api/list',function(data){ var template = ''; for(var i = 0; i &lt; data.length; i++){ template += "&lt;tr&gt;"; ...

2018-03-06 16:30:29 1844

原创 【C#6.0语法】可空表达式 ?.

可空表达式只能是 C# 6.0+ 才可以使用,VS2015+ 版本才支持。在这个表达式出现之前,当我们得到一个对象时,并想要使用这个对象之前,都必须先判断该对象是否为 null,否则使用对象时就会抛出 NullReferenceException 异常(未将对象引用设置到对象的实例)。就像下面这个例子:public static void Main(string[] args)...

2018-03-05 11:19:29 781

原创 【C#6.0语法】模版字符串

很多语言已经实现了这种语法模式,所以我们C#也需要迎头赶上。什么是模版字符串?还记得你们用过的格式化字符串吗?string.Format() 这个方法,是最常用的方法之一。下面是一个简单的例子:var name = "张三";var age = 24;var address = "北京市朝阳区";string.Format("我是{0},今年{1},家住在{2}", na...

2018-03-05 11:17:37 5284

新人学习,清晰三层架构示例

很清楚三层架构,能帮助新人学习三层,C#写的,里面注释清楚,符合命名规范。更多学习请到www.fxapi.cn

2009-07-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除