Posts in December 2021
12/30/2021 10:46:19 PM
Blazor系列转载`终结啦`,其实站长在25号时就已`完成转载`,并同步在`Dotnet9`网站(`https://dotnet9.com`)发布,并创建了一个专辑`《大家一起学Blazor》`,大家可随时在网站浏览。
12/27/2021 8:53:19 PM
TypeScript非常优秀。它完美地结合了强类型和快速开发,因此非常好用,我在许多情况下都会默认选择这个库。但是,世上没有完美的语言,有些情况下TypeScript并不是最合适的工具:
12/26/2021 9:56:27 PM
我开发了一个对.Net程序瘦身的工具,可以把被引用但是没有被使用的程序集删除。我用它把一个.Net core程序从`147兆`瘦身到`59.5`兆。
12/25/2021 9:50:23 PM
昨天说到单元测试,但有些时候可能由于时间关系没办法完整测试
12/25/2021 8:39:11 PM
开发一个系统最无聊的过程大概就是解决BUG了,尤其是那种尝试对null 对象取值的错误(`Object reference not set to an instance of an object.`),这应该是大部分人刚踏入编程领域最常碰到的问题,为了从枯燥的解决BUG过程解脱,这篇就来介绍`单元测试`。
12/25/2021 7:23:26 PM
在`EF Core`中`批量`执行`更新`、`删除`、`插入`数据的框架`Zack.EFCore.Batch`已经发布新版,新版增加了对`.NET 6`的支持,数据批量插入的时候支持`ValueConverter`,彻底解决了`“更新数据的时候,当两列的表达式等价时候出现的The count of columns should be even异常”`。
12/25/2021 5:51:34 PM
之前有说到`ASP.NET Core Identity` 使用的是基于`Claim` 的验证,其实`ASP.NET Core Identity` 有不同类型的授权方式,最简单的`登录授权`、`角色授权`、`Claim 授权`,但上述几种都是以一种方式实现:原则授权(`Policy-based authorization`)。
12/25/2021 11:08:26 AM
前面说过`ASP.NET Core Identity` 是基于`Claim` 的验证,而`Role` 就是类型为`Role` 的`Claim`
12/24/2021 11:20:13 PM
昨天角色的`CRUD` 功能都完成了,接着就是要把角色分配给用户了
12/24/2021 10:46:51 PM
有些情况下,需要在程序运行期间动态执行C#代码,比如,将某些经常改变的算法保存在配置文件中,在运行期间从配置文件中读取并执行运算。这时可以使用C#脚本来完成这些工作。
12/23/2021 11:08:41 PM
首先添加承载角色数据的`ViewModel`,因为接下来的权限会以角色判断
12/23/2021 10:51:24 PM
前天有在`Blog.razor`加入通过验证及未通过的显示内容,但如果系统要呈现的未通过验证内容都一样,在每个Component 都这样写就太浪费时间了,可以利用`App.razor`帮我们做统一呈现的事。
12/23/2021 10:19:53 PM
前面有说到`UserAuthentication()`跟`UserAuthorization()`,这两个的差别在于:前者用于验证登录者是谁,后者则决定登录者可以做什么。
12/23/2021 9:02:21 PM
最近部门在推微前端,需要按功能拆分多个子应用,主应用在加载的过程中经常出现加载失败的问题。
12/22/2021 11:59:48 PM
昨天做的验证只针对`Identity` 系统,没有包含到我们的日志
12/22/2021 11:01:31 PM
今天来实现身分验证的部分
12/22/2021 10:49:21 PM
目前,容器和 Docker 依旧是技术领域最热门的词语,无状态的服务容器化已经是大势所趋,同时也带来了一个热点问题被大家所争论不以:`数据库 MySQL 是否需要容器化?`
12/21/2021 11:36:29 PM
在开发系统时,记录是一件很重要的事,前面都没有提到,笔者在最近才想到这点,所以就来实现吧!
12/21/2021 10:04:11 PM
在大部分的网站中,上传图片也是很重要的功能,今天我们就来操作下。
12/20/2021 11:04:06 PM
假设今天有个状况是这样:有一条日志,新增第二条但还没提交前,想将第一条删除,这时会发生什么事呢?
12/20/2021 12:21:26 AM
将矢量图形打包成字体的形式,使用方式也和我们使用字体一样,能够自由设置图标的大小,图标的颜色。相对于传统图片来说,优点还是很明显的:
12/19/2021 6:56:17 PM
接下来就是讲跟数据库关联的内容了,会着重说明ASP.NET Core 跟EF Core,如果有需要改页面才会说到Blazor,这边会花比较多篇幅着墨。
12/18/2021 11:34:26 PM
我们现在有了基本的日志,但是每次输入完重新加载页面数据都会重置,因为这些数据都只存在于浏览器,没有真正储存到数据库,为了保存下来,我们要跟数据库连接。
12/18/2021 10:35:17 PM
有时候会想对不同Component 做个别样式设置,但如果把class 都写在`wwwroot/css/site.css`,或是针对某个元素改动样式,可能导致改一个就影响全部Component,这种全域冲突是必须避免的,但应该怎么做?
12/18/2021 6:24:32 PM
本文是使用 WPF 做个 PowerPoint 系列的博客,本文来告诉大家如何解析 PPT 里面的文本描边效果,在 WPF 应用中绘制出来,实现像素级相同
12/16/2021 9:02:26 PM
虽然Blazor 不需要用到JavaScript,但某些已有的js库 还是很方便,不能因为不想用JavaScript 就全部舍弃,Blazor 就提供了调用JavaScript 的方法,这种情况称为JavaScript interoperability(简称JavaScript interop)。这篇就来实现Delete 按钮的提醒窗口,因为删除是很重要的功能,不能让使用者轻轻一按就轻易删除。
12/16/2021 8:51:16 PM
不要小看摸鱼,所有天才的点子都不是敲键盘时激发的。在工作遇到阻滞时,越是投入工作越是找不到解决方案,这时候把目光从屏幕挪开,说不定在一边洗澡一边玩着小黄鸭时,一边发呆一边看着窗外时,一边睡觉一边扣肚子时,解决问题的灵感突然就掉进了脑海里。
12/16/2021 8:48:19 PM
目前的4篇日志是来自我们写好的假数据,但正常来说不会这样做,而是有个按钮让用户点击了之后,增加或减少日志的数量。
12/16/2021 12:57:34 PM
Blazor允许您`使用C#`而不是JavaScript`构建交互式`Web UI`。 Blazor应用由可重用的Web UI组件组成,这些组件使用C#、HTML和CSS实现。客户端和服务器代码都是用c#编写的,允许您共享代码和库。
12/15/2021 11:38:24 PM
昨天不小心把Reset按钮的type改成button,今天改回reset。
12/15/2021 10:53:17 PM
目前`MyButton`有3个`[Parameter]`,如果再增加的话,又要再定义新的`[Parameter]`,为了避免不断更新这个Component,我们来用Blazor提供的`@attribute`。
12/14/2021 11:31:22 PM
现在我们有一个可以输入日志的界面了,但日志就是每天都要写的意思,只有一篇怎么够呢?我们来加上blog。
12/14/2021 10:18:54 PM
假如我们想增加的按钮用来清除`form`(表单)的数据,最快的方式是增加一个`type=”reset”`的按钮,这时候就用到两个按钮了,可以用到Blazor的核心概念:组件封装。
12/13/2021 10:36:21 PM
现在每次启动项目,预设路径都会是`/`,但我们目前没有Component套用这个路由,要自己切换到`Post`实在有些麻烦,另外Menu的图案也跟名称不符,我们来调整一下。
12/13/2021 9:38:15 PM
自己建立的Service都必须在Startup.cs(Blazor Server)或Program.cs(Blazor WebAssemlby)注册,但有些基本Service就不用自己做了。
12/12/2021 9:59:24 PM
昨天看到`FetchData.razor`的代码太长了,为求方便,我们把`@code`的部分抽取出来另成一个文件。
12/12/2021 10:01:23 AM
C# 的 GitHub 页面上记载了一长串诱人的想法,其中一些令人头疼的问题仍在讨论中。
12/11/2021 1:27:42 PM
问题来了,为什么Blazor会知道WeatherForecastService在这里可以调用?
12/10/2021 11:51:41 PM
我遇到的大多数 Windows 窗体应用程序都不存在或单元测试覆盖率极低。而且它们通常也很难维护,项目中各种 Form 类的代码背后有数百甚至数千行代码,但它不必是这样。
12/10/2021 11:01:39 PM
由于笔者当初是用ASP.NET Core API + Blazor Server,所以会以Blazor Server示范,日后研究完Blazor WebAssembly会再将心得补上。
12/10/2021 12:13:34 AM
下载Visual Studio后首先建立一个Blazor解决方案,里面建立Blazor Server项目,方案位置可以自己选择(注:新版Visual Studio将Blazor Server跟Blazor WebAssembly的新建项目模板拆分了,较为直观)
12/9/2021 11:04:23 PM
笔者对网站的认知为前端、后端及数据库,使用者在浏览器页面按下按钮或是表单请求,触发前端事件,将收集起来的条件打包送往后端
12/9/2021 10:35:19 PM
笔者接触软件行业的时间不长,先后接触三种架构
12/9/2021 9:25:22 PM
如果您一直紧跟 .NET 世界的最新发展趋势,那么现在您一定听说过 Blazor。
12/6/2021 10:01:36 PM
创建一个Blazor TabControl组件,有两个目标知识点
12/6/2021 2:16:59 PM
简单来说,若是我们不使用Bootstrap 4,而是用手刻的方式来撰写网页,HTML 的内容我们得要自己写(废话),CSS 我们也得要一个一个自己设定(又一个废话),可是若是使用Bootstrap 4 的话,很多常用的CSS 他已经预先帮我们写好了,我们只要熟悉Bootstrap 4 的文件,知道他预写的CSS 是用哪一个class 名,届时只要直接套用到标签上就可以了
12/3/2021 12:27:39 PM
移动端和桌面:适用于 iOS、Android、macOS 和 Windows 的原生 .NET MAUI 应用程序