Minjie.Zhou

.Net Core 造轮子 - AgileConfig 一个轻量级的配置中心

微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个,而且他们也对.net不太友好,也只有apoll提供了官方的.net客户端。二来这些组件都太重...

ASP.NET Core Blazor 之 PWA

Blazor支持渐进式应用开发也就是PWA。使用PWA模式可以使得web应用有原生应用般的体验。 什么是PWA PWA应用是指那些使用指定技术和标准模式来开发的web应用,这将同时赋予它们web应用和原生应用的特性。 例如,web应用更加易于发现——相比于安装应用,访问一个网站显然更加容易和迅速,并且你可以通过一个链接来分享web应用。 在另一方面,原生应用与操作系统可以更加完美的整合,...

ASP.NET Core Blazor WebAssembly 之 .NET JavaScript 互调

Blazor WebAssembly可以在浏览器上跑C#代码,但是很多时候显然还是需要跟JavaScript打交道。比如操作dom,当然跟angular、vue一样不提倡直接操作dom;比如浏览器的后退导航。反之JavaScript也有可能需要调用C#代码来实现一些功能,毕竟客户的需求是千变万化的,有的时候只能通过一些hack的手段来实现。 .NET调用JavaScript函数 使用JSRu...

ASP.NET Core Blazor 之 事件

我们的UI总是免不了需要交互,对用户的操作做出响应,对数据的变化做出响应,这些都离不开事件。这次看看blazor里的事件该怎么玩。 绑定UI事件 UI事件是指那些跟UI相关的事件,比如button点击事件,input的change事件等等,这些都是我们开发系统的时候常常需要打交道的。blazor通过@on{event}来绑定一个方法,使得ui跟业务方法建立联系。下面演示下button的点击事...

ASP.NET Core Blazor WebAssembly 之 路由

web最精妙的设计就是通过url把多个页面串联起来,并且可以互相跳转。我们开发系统的时候总是需要使用路由来实现页面间的跳转。传统的web开发主要是使用a标签或者是服务端redirect来跳转。那今天来看看Blazor是如何进行路由的。 使用@page指定组件的路由path 我们可以在Blazor里给每个组件指定一个path,当路由匹配的时候会显示这个组件。 @page "/page/a" ...

ASP.NET Core Blazor WebAssembly - 数据绑定

上一次我们学习了Blazor组件相关的知识(Asp.net Core Blazor Webassembly - 组件)。这次继续学习Blazor的数据绑定相关的知识。当代前端框架都离不开数据绑定技术。数据绑定技术以数据为主导来驱动UI界面,用户对数据的修改会实时提现在UI上,极大的提高了开发效率,让开发者从繁琐的dom操作中解脱出来。对于数据绑定.NET开发者并不会陌生,WPF里大量应用数据...

ASP.NET CORE Blazor WebAssembly 之 组件

关于组件 现在前端几大轮子全面组件化。组件让我们可以对常用的功能进行封装,以便复用。组件这东西对于搞.NET的同学其实并不陌生,以前ASP.NET WebForm的用户控件其实也是一种组件。它封装html代码,封装业务逻辑,对外提供属性事件等信息,它完完全全就是个组件,只是用户控件跑在服务端,而现在的组件大多数直接跑在前端。现在Blazor Webassembly微软正式把组件带到前端,让我...

ASP.NET Core 对 Controller 进行单元测试

单元测试对我们的代码质量非常重要。很多同学都会对业务逻辑或者工具方法写测试用例,但是往往忽略了对Controller层写单元测试。我所在的公司没见过一个对Controller写过测试的。今天来演示下如果对Controller进行单元测试。以下内容默认您对单元测试有所了解,比如如何mock一个接口。在这里多叨叨一句,面向接口的好处,除了能够快速的替换实现类(其实大部分接口不会有多个实现),最大...