Loading

摘要:标题:使用MediatR重构单体应用中的事件发布/订阅 作者:Lamond Lu 地址: 源代码:https://github.com/lamondlu/EventHandlerInSingleApplication 背景 在之前的一篇文章中,我分享了一个 "在ASP.NET Core单体程序中,使 阅读全文
posted @ 2019-04-02 06:22 LamondLu 阅读(2177) 评论(16) 推荐(11) 编辑
摘要:当我们在工作单元(UnitOfWork)中使用EF/EF Core的时候,为了要保持事务,一个用户操作只能调用一次SaveChange方法,但是有时候一个用户操作需要调用多个Repository,并且他们操作的实体是关联的。这时候在一个Repository中获取另外一个Repository中添加/修改/删除的实体就变成了一个问题。 阅读全文
posted @ 2019-03-22 10:44 LamondLu 阅读(1629) 评论(3) 推荐(6) 编辑
摘要:原文地址:Pre compressed static files with ASP.NET Core 作者:Gunnar Peipman 译者:Lamond Lu 译文:https://www.cnblogs.com/lwqlun/p/10552131.html 示例代码:https://githu 阅读全文
posted @ 2019-03-18 14:56 LamondLu 阅读(1036) 评论(6) 推荐(3) 编辑
摘要:在这篇文章中,我描述了一个曾经多次被问过问题。开发人员发现他们的会话状态没有正确保存。 这通常是由于ASP.NET Core 2.1中引入的Cookie同意和非必要cookie的GDPR功能引起的。 我展示了一个问题的实例,以及它在2.0 app和2.2 app之间的区别。 我描述了会话状态如何依赖于默认情况下被认为是非必要的会话Cookie,因此在用户同意Cookie之前不会写入响应。 阅读全文
posted @ 2019-03-14 09:26 LamondLu 阅读(1445) 评论(6) 推荐(10) 编辑
摘要:我们创建的大部分.NET Core应用都会使用配置文件。如果你了解过12 Factor理论(https://12factor.net/zh_cn/), 你可能会希望将配置文件与代码隔离。这就意味你不能将应用配置存在appsetting.json文件中或者硬编码在程序中。 阅读全文
posted @ 2019-03-12 11:04 LamondLu 阅读(651) 评论(3) 推荐(8) 编辑
摘要:事件发布/订阅是一种非常强大的模式,它可以帮助业务组件间实现完全解耦,不同的业务组件只依赖事件,只关注哪些事件是需要自己处理的,而不用关注谁来处理自己发布事件,事件追溯(Event Sourcing)也是基于事件发布/订阅的。 阅读全文
posted @ 2019-03-04 10:37 LamondLu 阅读(3499) 评论(22) 推荐(29) 编辑
摘要:JSON Patch是一种使用API显式更新文档的方法。它本身是一种契约,用于描述如何修改文档(例如:将字段的值替换成另外一个值),而不必同时发送其他未更改的属性值。 阅读全文
posted @ 2019-02-25 21:33 LamondLu 阅读(2052) 评论(8) 推荐(12) 编辑
摘要:ASP.NET Core是一个扩展性非常高的框架,开发人员可以根据自己的需求扩展出想要的功能。File Provider是ASP.NET Core中的一个重要组件,通过这个组件,开发人员可以暴露一组文件,并允许应用程序像访问静态文件一样访问暴露的文件。那么如何自定义一个File Provider呢?比如如何将Azure Files Storage中的文件暴露给ASP.NET Core应用程序。今天我们来演示一下,如果通过实现IFileProvider 接口来实现一个Azure Files Storage Provider。 阅读全文
posted @ 2019-02-20 14:57 LamondLu 阅读(607) 评论(0) 推荐(4) 编辑
摘要:本篇博文中展示了如何在ASP.NET Core应用程序中设置IP白名单验证的3种方式。 阅读全文
posted @ 2019-02-18 11:42 LamondLu 阅读(2084) 评论(8) 推荐(7) 编辑
摘要:背景 在我们的日常开发中,我们会经常使用枚举类型。有时我们只需要显示枚举的值或者枚举值对应名称, 但是在某些场景下,我们可能需要将枚举值显示为不同的字符串。 例: 当前我们有如下枚举Level 这个枚举有4个可选值B, N, G, VG。 现在我们希望用Bad, Normal, Good, Very 阅读全文
posted @ 2019-02-14 21:57 LamondLu 阅读(2439) 评论(5) 推荐(9) 编辑
摘要:原文: "Running async tasks on app startup in ASP.NET Core (Part 3)" 作者:Andrew Lock 译者:Lamond Lu 之前我写了两篇有关在ASP.NET Core中运行异步任务的博文,本篇博文是对之前两篇博文中演示示例和实现方法的 阅读全文
posted @ 2019-02-12 07:33 LamondLu 阅读(1259) 评论(0) 推荐(4) 编辑
摘要:在本篇博客中,我将展示上一篇博文中提出的Program.cs中手动运行异步任务”的实现方法。该实现会使用一些简单的接口和类来封装应用程序启动时的运行任务逻辑。我还会展示一个替代方法,这个替代方法是在Kestral服务器启动时,使用IServer接口。 阅读全文
posted @ 2019-02-06 22:07 LamondLu 阅读(1842) 评论(1) 推荐(5) 编辑
摘要:当我们做项目的时候,有时候希望自己的ASP.NET Core应用在启动前执行一些初始化逻辑。例如,你希望验证配置是否合法,填充缓存数据,或者运行数据库迁移脚本。在本篇博客中,我将介绍几种可选的方案,并且通过展示一些简单的方法和扩展点来说明我想要解决的问题。 阅读全文
posted @ 2019-02-01 19:21 LamondLu 阅读(4376) 评论(2) 推荐(9) 编辑
摘要:最近做了几个项目一直在用Azure DevOps和Azure App Service, 每次都要从零开始搭建从Azure DevOps向Azure App Service发布代码的环境,由于步骤比较繁琐,每次都会忘记其中几个步骤,所以在此总结一下,已备后续再次使用。 阅读全文
posted @ 2019-01-25 21:26 LamondLu 阅读(2262) 评论(2) 推荐(6) 编辑
摘要:原文链接: "Common features in ASP.NET Core 2.1 WebApi: Validation" 作者:Anthony Giretti 译者:Lamond Lu 介绍 验证用户输入是一个Web应用中的基本功能。对于生产系统,开发人员通常需要花费大量时间,编写大量的代码来完 阅读全文
posted @ 2019-01-23 22:50 LamondLu 阅读(3464) 评论(8) 推荐(7) 编辑
摘要:在本篇博客中,我将介绍一下IStartupFilter, 以及如何在ASP.NET Core中使用它。 阅读全文
posted @ 2019-01-16 22:41 LamondLu 阅读(1285) 评论(3) 推荐(6) 编辑
摘要:原文: "Nullable Reference Types In C 8" 作者:.NET Core Tutorials 译者:Lamond Lu 现状 可空引用类型 ? 自从我开始学习.NET, 引用类型一直就是可空的。然而初级程序员通常会告诉你值类型不可空,引用类型可空。 事实上,在.NET中有 阅读全文
posted @ 2019-01-12 08:43 LamondLu 阅读(2105) 评论(2) 推荐(9) 编辑
摘要:本篇博客描述了如何使用MiniProfiler来监控分析你的Api, 以及如何将MiniProfiler和Swagger集成起来 阅读全文
posted @ 2019-01-04 21:13 LamondLu 阅读(5621) 评论(25) 推荐(43) 编辑
摘要:原文地址: "How to unit test a class that consumes an HttpClient with IHttpClientFactory in ASP.NET Core?" 作者: "Anthony Giretti" 译者: Lamond Lu 介绍 几年前,微软引入了 阅读全文
posted @ 2019-01-03 17:50 LamondLu 阅读(682) 评论(2) 推荐(7) 编辑
摘要:背景 前几天,做项目的时候遇到一个文件下载的问题。当前系统是一个前后端分离的项目,前端是一个AngularJs项目, 后端是一个.NET Core WebApi项目。后端的Api项目使用了Jwt Token授权,所以每个Api请求都需要传递一个Bearer Token。 这一切都看起来理所当然,但是 阅读全文
posted @ 2019-01-01 15:29 LamondLu 阅读(1612) 评论(6) 推荐(7) 编辑