自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

依乐祝的博客

专注于.net core下微服务开发。乐于分享。喜欢用开源的框架开发高可用,高并发,分布式的微服务架构

  • 博客(123)
  • 资源 (8)
  • 收藏
  • 关注

原创 C#中的分布式ID生成组件IDGen介绍并给出示例代码

C#中的IDGen是一个C#实现的Twitter Snowflake算法的ID生成器,可以生成全局唯一的ID,支持高并发场景下的ID生成。在本篇文章中,我们将介绍IDGen的使用方法并提供相关的C#示例代码。IDGen的介绍IDGen是一款开源的分布式唯一ID生成器,支持多种ID生成算法,并且可以在高并发场景下快速生成全局唯一的ID。目前支持的ID生成算法包括Twitter Snowflak...

2023-04-20 19:10:00 567

原创 C#10在List, Queue 以及Stack中使用EnsureCapacity方法来提升性能

简介在今天的文章中,我们将介绍 C# 10 中引入的一项新功能。这是已添加到 List、Queue 和 Stack 集合中的 EnsureCapacity 方法。我们将讨论为什么我们应该使用这个方法以及何时使用它。那么,让我们开始吧。作者:依乐祝译文链接:https://www.cnblogs.com/yilezhu/p/15182566.html原文链接:https://www.c...

2021-08-25 13:34:00 324

原创 祝贺|合肥.NET俱乐部第二期技术沙龙活动圆满成功

热烈祝贺合肥.NET俱乐部第二期技术沙龙圆满成功,感恩参与活动的每一位小伙伴!正是因为有你们才促成了这次聚会的成功。现对此次活动进行简单回顾并附上精彩的活动图片,每一位参与活动者名单,以及此次活动讲师分享的PPT供大家学习下载。作者:依乐祝原文链接:https://www.cnblogs.com/yilezhu/p/15057511.html精彩回顾在下午1:30到2:00进行活动的...

2021-07-25 17:09:00 246

原创 晋升新一线的合肥,跨平台的.NET氛围究竟如何?

大伙可能不知道,2020年合肥已经成功晋升为新一线城市了。本文通过对目前合肥.NET招聘信息以及公众号的相关数据的分析来看下目前合肥.NET的大环境。就着2020中国.NET开发者峰会的顺利举行的东风,同时为进一步提升合肥地区的.NET技术氛围,一些合肥地区的.NET老鸟们准备明年正式成立合肥.NET技术俱乐部。因此也希望志愿为合肥.NET添砖加瓦的您也能够加入我们来一起筹备这个事情。初...

2021-01-14 15:51:00 247

原创 C#中烦人的Null值判断竟然这样就被消灭了

作者:依乐祝首发自:DotNetCore实战 公众号https://www.cnblogs.com/yilezhu/p/14177595.htmlNull值检查应该算是开发中最常见且烦人的工作了吧,有人反对吗?反对的话请右上角关门不送。这篇文章就教大家一招来简化这个烦人又不可避免的工作。说明,提供思路的一篇文章招来这么多非议,为何啊?罗嗦话不多说,先看下面一段简单的不能再...

2020-12-25 07:45:00 565

原创 如何从零开发一个NuGet软件包?

作者:依乐祝首发地址:https://www.cnblogs.com/yilezhu/p/14175019.html我想目前每个.net开发人员都应该知道nuget.org和NuGet软件包吧。但是,您是否曾经尝试并创建过一个nuget包呢?Nuget软件包比较容易引入到类库中。因此,可以使用NuGet软件包管理器将nuget软件包添加到任何项目中。Nuget包的剖析Nuge...

2020-12-23 07:37:00 327

原创 一个小技巧助您减少if语句的状态判断

作者:依乐祝首发地址:https://www.cnblogs.com/yilezhu/p/14174990.html在进行项目的开发的过程中, if语句是少不了的,但我们始终要有一颗消灭 if/ else语句的心。为了消灭if / else 我们引入了 短路器的概念。 短路器有时候的确能精简我们的代码,但还不够,因此我参考了一个方法来继续消灭一部分 断路器中的 if...

2020-12-22 20:11:00 197

原创 MongoDB最新4.2.7版本三分片集群修改IP实操演练

背景重新组网,需要对现有MongoDB分片集群服务器的IP进行更改,因此也需要对MongoDB分片集群的IP也进行相应的更新,而MongoDB分片集群的IP修改不能单纯的通过配置来进行,需要一番折腾后才能正常更新,这里对整个MongoDB集群的IP修改过程做下记录,希望对有同样需求的小伙伴有所帮助。作者:依乐祝原文地址:https://www.cnblogs.com/yilez...

2020-08-21 13:44:00 536 1

原创 在.NET Core中使用MongoDB明细教程(3):Skip, Sort, Limit, Projections

到目前为止,我们已经讨论了创建文档, 检索文档,现在让我们来研究一下文档排序,指定要跳过或限制返回的文档数量,以及如何进行投影。此篇文章中的实例代码摘录自原文,未像前几篇文章一样进行实际代码的验证。作者:依乐祝译文地址:https://www.cnblogs.com/yilezhu/p/13525942.html英文地址:https://www.codementor.io/@p...

2020-08-20 08:03:00 256

原创 在.NET Core中使用MongoDB明细教程(2):使用Filter语句检索文档

在上篇文章我们介绍了一些驱动程序相关的基础知识,以及如何将文档插入到集合中。在这篇文章中,我们将学习如何从数据库中检索文档。作者:依乐祝译文地址:https://www.cnblogs.com/yilezhu/p/13520021.html英文地址:https://www.codementor.io/@pmbanugo/working-with-mongodb-in-net-2...

2020-08-18 10:00:00 1164

原创 在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入

MongoDB,被归类为NoSQL数据库,是一个以类JSON格式存储数据的面向文档的数据库系统.MongoDB在底层以名为bson的二进制编码格式表示JSON文档,MongoDB bson实现是轻量级、快速和高度可遍历的。这意味着MongoDB为用户提供了JSON文档的易用性和灵活性,以及轻量级二进制格式的速度和丰富性。其实在我看来在很多场景中MongoDb都可以取代关系型数据库。...

2020-08-13 07:53:00 603 1

原创 在ASP.NET Core中创建自定义端点可视化图

在上篇文章中,我为构建自定义端点可视化图奠定了基础,正如我在第一篇文章中展示的那样。该图显示了端点路由的不同部分:文字值,参数,动词约束和产生结果的端点:在本文中,我将展示如何通过创建一个自定义的DfaGraphWriter来为自己的应用程序创建一个端点图。这篇文章使用了本系列前几篇文章中的技巧和类,因此我强烈建议在继续之前先阅读这些技巧和类。作者:依乐祝原文链接:htt...

2020-07-26 13:13:00 274

原创 使用ImpromptuInterface反射库方便的创建自定义DfaGraphWriter

在本文中,我为创建的自定义的DfaGraphWriter实现奠定了基础。DfaGraphWriter是公开的,因此您可以如上一篇文章中所示在应用程序中使用它,但它使用的所有类均已标记为internal。这使得创建自己的版本成为问题。要解决此问题,我使用了一个开源的反射库ImpromptuInterface,使创建自定义的DfaGraphWriter实现更加容易。作者:依乐祝原文地址...

2020-07-21 08:04:00 234

原创 将终结点图添加到你的ASP.NET Core应用程序中

在本文中,我将展示如何使用DfaGraphWriter服务在ASP.NET Core 3.0应用程序中可视化你的终结点路由。上面文章我向您演示了如何生成一个有向图(如我上篇文章中所示),可以使用GraphVizOnline将其可视化。最后,我描述了应用程序生命周期中可以检索图形数据的点。作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/133...

2020-07-19 09:31:00 169

原创 [译]使用DOT语言和GraphvizOnline来可视化你的ASP.NETCore3.0终结点01

这是系列文章中的第一篇:使用GraphvizOnline可视化ASP.NETCore3.0终结点。.第1部分-使用DOT语言来可视化你的ASP.NETCore3.0终结点(本文)第2部分-向ASP.NET Core应用程序添加终结点图第3部分-使用ImpromptuInterface创建一个自定义的DfaGraphWriter,以便于反射作者:依乐祝原文:https://...

2020-07-16 08:30:00 468

原创 重学ASP.NET Core 中的标记帮助程序

标记帮助程序是什么标记帮助程序使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。例如,内置的 ImageTagHelper 可以将版本号追加到图片名称。每当图片发生变化时,服务器都会为图像生成一个新的唯一版本号,因此客户端总能获得当前图像(而不是过时的缓存图像)。作者:依乐祝原文链接:https://www.cnblogs.com/yilezhu/p/...

2020-06-27 12:27:00 367

原创 Task.Result跟 Task.GetAwaiter.GetResult()相同吗?怎么选?

前几天在用线程池执行一些任务时运到一种情形,就是回调方法中使用到了异步方法,但是回调方法貌似不支持async await的写法。这时候我应该如何处理呢?是使用Task.Result来获取返回结果,还是使用GetAwaiter.GetResult()呢?本文就来探讨下吧。作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/13168337.htm...

2020-06-20 13:01:00 1771

原创 【半译】扩展shutdown超时设置以保证IHostedService正常关闭

我最近发现一个问题,当应用程序关闭时,我们的应用程序没有正确执行在IHostedService中的StopAsync方法。经过反复验证发现,这是由于某些服务对关闭信号做出响应所需的时间太长导致的。在这篇文章中,我将展示出现这个问题的一个示例,并且会讨论它为什么会发生以及如何避免这种情况出现。作者:依乐祝首发地址:https://www.cnblogs.com/yilezhu/p/1...

2020-05-27 12:17:00 632

原创 从零搭建分布式文件系统MinIO比FastDFS要更合适

前两天跟大家分享了一篇关于如何利用FastDFS组件来自建分布式文件系统的文章,有兴趣的朋友可以阅读下《用asp.net core结合fastdfs打造分布式文件存储系统》。通过留言发现大家虽然感兴趣,但是都觉得部署比较麻烦。的确,fastdfs的部署很繁琐,而且也没有官方提供的针对.net core的sdk。而今天带来的MinIO则是一个比fastdfs更好的选择,可以让你足够简单的来...

2020-05-05 12:10:00 9537

原创 用asp.net core结合fastdfs打造分布式文件存储系统

最近被安排开发文件存储微服务,要求是能够通过配置来无缝切换我们公司内部研发的文件存储系统,FastDFS,MongDb GridFS,阿里云OSS,腾讯云OSS等。根据任务紧急度暂时先完成了通过配置来无缝切换内部文件系统以及FastDFS。至于MongDb GridFS,阿里云OSS,腾讯云OSS等则后期需要的话再开发对应的提供者程序集合。作者:依乐祝首发公众号:DotNetCor...

2020-04-29 09:02:00 667

原创 在ASP.NET Core中创建内部使用Scoped服务的Quartz.NET宿主服务

在我的上一篇文章中,我展示了如何使用ASP.NET Core创建Quartz.NET托管服务并使用它来按计划运行后台任务。不幸的是,由于Quartz.NET API的工作方式,在Quartz作业中使用Scoped依赖项注入服务有些麻烦。说明下这篇文章部分采用机翻。作者:依乐祝译文地址:https://www.cnblogs.com/yilezhu/p/12757411.html原...

2020-04-23 08:51:00 403

原创 【半译】在ASP.NET Core中创建内部使用作用域服务的Quartz.NET宿主服务

在我的上一篇文章中,我展示了如何使用ASP.NET Core创建Quartz.NET托管服务并使用它来按计划运行后台任务。不幸的是,由于Quartz.NET API的工作方式,在Quartz作业中使用Scoped依赖项注入服务有些麻烦。说明下这篇文章部分采用机翻。作者:依乐祝译文地址:https://www.cnblogs.com/yilezhu/p/12757411.html原...

2020-04-22 22:33:00 409

原创 在ASP.NET Core中创建基于Quartz.NET托管服务轻松实现作业调度

在这篇文章中,我将介绍如何使用ASP.NET Core托管服务运行Quartz.NET作业。这样的好处是我们可以在应用程序启动和停止时很方便的来控制我们的Job的运行状态。接下来我将演示如何创建一个简单的 IJob,一个自定义的 IJobFactory和一个在应用程序运行时就开始运行的QuartzHostedService。我还将介绍一些需要注意的问题,即在单例类中使用作用域服务。作...

2020-04-07 08:52:00 434

原创 Nuget多项目批量打包上传服务器的简明教程

本篇不会介绍Nuget是什么,如何打包上传Nuget包,怎么搭建私有Nuget服务器。这些问题园子里都有相应的文章分享,这里不做过多阐述。另外本文假设你已经下载了Nuget.exe,并且已经设置好了环境变量。什么?你还不会?那你先去百度下设置好后再来看这篇文章吧。nuget下载实际项目中,我们可能一个解决方案下面会有N多个项目,每次发布这N多个项目都会使用统一的版本号一起发布到Nuge...

2020-03-31 08:40:00 371 1

原创 如何创建一个自定义的`ErrorHandlerMiddleware`方法

在本文中,我将讲解如何通过自定义ExceptionHandlerMiddleware,以便在中间件管道中发生错误时创建自定义响应,而不是提供一个“重新执行”管道的路径。作者:依乐祝译文:https://www.cnblogs.com/yilezhu/p/12497937.html原文:https://andrewlock.net/creating-a-custom-error-h...

2020-03-15 15:43:00 246

原创 一个新实验:使用gRPC-Web从浏览器调用.NET gRPC服务

今天给大家翻译一篇由ASP.NET首席开发工程师James Newton-King前几天发表的一篇博客,文中带来了一个实验性的产品gRPC-Web。大家可以点击文末的讨论帖进行相关反馈。我会在文章末尾给出原文链接。全部译文如下:我很高兴宣布通过.NET对gRPC-Web进行实验性支持。gRPC-Web允许从基于浏览器的应用程序(例如JavaScript SPA或Blazor WebA...

2020-02-15 21:41:00 367

原创 如何从Serilog请求日志记录中排除健康检查终结点

这是在ASP.NET Core 3.X中使用Serilog.AspNetCore系列文章的第四篇文章:。第1部分-使用Serilog RequestLogging减少日志详细程度第2部分-使用Serilog记录所选的终结点属性第3部分-使用Serilog.AspNetCore记录MVC属性第4部分-从Serilog请求日志记录中排除健康检查端点(本文)作者:依乐祝译文地...

2020-02-02 19:38:00 536

原创 如何使用Serilog.AspNetCore记录ASP.NET Core3.0的MVC属性

这是Serilog系列的第三篇文章。第1部分-使用Serilog RequestLogging减少日志详细程度第2部分-使用Serilog记录所选的终结点属性第3部分-使用Serilog.AspNetCore记录MVC属性(本文)第4部分-从Serilog请求记录中排除运行状况检查端点作者:依乐祝译文地址:https://www.cnblogs.com/yilezhu/...

2020-01-30 21:15:00 530

原创 Serilog高级玩法之用Serilog记录所选终结点附加属性

这是该系列的第二篇文章:在ASP.NET Core 3.0中使用Serilog.AspNetCore。第1部分-使用Serilog RequestLogging来简化ASP.NET Core的日志输出第2部分-用Serilog记录所选终结点的附加属性(本文)第3部分-使用Serilog.AspNetCore记录MVC属性[敬请期待]第4部分-从Serilog请求记录中排除运行状...

2020-01-21 22:57:00 750

原创 如何利用Serilog的RequestLogging来精简ASP.NET Core的日志输出

这是该系列的第一篇文章:在ASP.NET Core 3.0中使用Serilog.AspNetCore。第1部分-使用Serilog RequestLogging来简化ASP.NET Core的日志输出(本篇文章)第2部分-使用Serilog记录所选的端点名称[敬请期待]第3部分-使用Serilog.AspNetCore记录MVC属性[敬请期待]作者:依乐祝译文地址:htt...

2020-01-20 08:19:00 908

原创 关于C#异步编程你应该了解的几点建议

前段时间写了一篇关于C#异步编程入门的文章,你可以点击《C#异步编程入门看这篇就够了》查看。这篇文章我们来讨论下关于C#异步编程几个不成文的建议,希望对你写出高性能的异步编程代码有所帮助。注:本文的很多内容都是学习《Effective C#》的总结。作者:依乐祝原文地址:https://www.cnblogs.com/yilezhu/p/12099219.html尽量不要编写返...

2019-12-26 08:06:00 236

原创 C#异步编程看这篇就够了

随着.NET Core的流行,相信你现在的代码中或多或少的会用到async以及await吧!毕竟已成标配。那么我们为什么要用async以及await呢?其实这是微软团队为我们提供的一个语法糖,让我们不用996就可以轻松的编写异步代码,并无太过神奇的地方。那么,问题来了,什么是异步?异步到底又是怎样的一个过程呢?从一个故事说起在开始讲异步前我们先从一个生活中的小故事说起吧。话说2019...

2019-12-16 07:58:00 229

原创 C#异步编程入门看这篇就够了

随着.NET Core的流行,相信你现在的代码中或多或少的会用到async以及await吧!毕竟已成标配。那么我们为什么要用async以及await呢?其实这是微软团队为我们提供的一个语法糖,让我们不用996就可以轻松的编写异步代码,并无太过神奇的地方。那么,问题来了,什么是异步?异步到底又是怎样的一个过程呢?从一个故事说起在开始讲异步前我们先从一个生活中的小故事说起吧。话说2019...

2019-12-16 07:58:00 78

原创 [译]C#8.0中一个使接口更加灵活的新特性-默认接口实现

9月份的时候,微软宣布正式发布C#8.0,作为.NET Core 3.0发行版的一部分。C#8.0的新特性之一就是默认接口实现。在本文中,我们将一起来聊聊默认接口实现。作者:依乐祝原文链接:https://www.cnblogs.com/yilezhu/p/12034584.html众所周知,对现有应用程序的接口进行更改是一项很危险的操作。如果这个接口又在多个项目中使用了,那...

2019-12-13 13:20:00 380

原创 荐读|属性与可直接访问的数据成员之间应该如何选

写在前面在书写C#代码的时候你是否有过这样的经历:经常混用属性以及公有的数据成员。毕竟他们的用法基本一致,对于使用来说好像没什么区别啊。其实我也经常使用类的公有的数据成员来定义一些常量,为了简单,在一些仅仅需要对外暴露一些常量的类中(如定义一些全局使用的常量),也都是通过定义公有数据成员实现的。直到看到世界世界知名专家Bill Wagner的那本《More Effective C#》之后才意识到...

2019-07-22 07:37:00 213

原创 Visual Studio模板代码注释小技巧分享

在日常开发过程中,难免有这样一种需求:就是你所建的每一个类文件或者接口文件都需要标注下作者姓名以及类的用途。如果我们每次创建文件的时候都需要写一遍这些信息是很烦神的。还好Visual Studio给我们提供了模板注释的功能来自动帮我们生成类似的注释代码。今天趁着中午休息的时间就让我们一起来操作下吧。作者:依乐祝原文链接:https://www.cnblogs.com/yilezhu/p/11...

2019-07-04 14:08:00 3011

原创 ASP.NET Core中GetService()和GetRequiredService()之间的区别

上篇文章《在.NET Core 3.0中的WPF中使用IOC图文教程》中,我们尝试在WPF中应用.NET Core内置的IOC进行编程,在解析MainWindow的时候我用了GetRequiredService<T>()方法,当时就在想这个GetRequiredService<T>()方法跟GetService<T>()到底有什么区别呢,于是乎,谷歌了一把,就发...

2019-07-01 07:53:00 2001

原创 在.NET Core 3.0中的WPF中使用IOC图文教程

我们都知道.NET Core 3.0已经发布了第六个预览版,我们也知道.NET Core 3.0现在已经支持创建WPF项目了,刚好今天在写一个代码生成器的客户端的时候用到了WPF,所以就把WPF创建以及使用IOC的过程记录一下,希望能对大家有所帮助。当然文章实例我就以我曾阅读过的一篇文章的示例代码来进行演示了。作者:依乐祝原文链接:https://www.cnblogs.com/yilezh...

2019-06-28 07:59:00 1793

原创 .NET Core 3.0 Preview 6中对ASP.NET Core和Blazor的更新

我们都知道在6月12日的时候微软发布了.NET Core 3.0的第6个预览版。针对.NET Core 3.0的发布我们国内的微软MVP-汪宇杰还发布的官翻版的博文进行了详细的介绍。具体的可以关注“汪宇杰博客”公众号,或者我的“DotNetCore实战”公众号然后在历史文章里面进行查阅。而我们这篇文章将会介绍本次更新中对ASP.NET Core和Blazor所做的更新。当然本文的大部分内容翻译自A...

2019-06-17 07:59:00 266

原创 分享一个程序猿的真实的爱情故事

分享一个程序猿的真实的爱情故事 在今天(农历四月十九日)这个特别的日子里,就不分享技术干货了。因为今天是我老婆的生日,所以我改成记录一下关于我这个“老”程序猿跟我老婆之间的故事。也作为一份特别的“生日礼物”吧。作为一个程序员实在很苦恼如何选礼物,如果你明确的告诉我你的需求,那么一切就简单多了,可是,怎么可能呢!!由于本人水平有限,所以写的文章也是...

2019-05-23 11:19:00 1688 12

C#版简单计算器WinForm

用C#开发的简单的WinForm计算器程序!简简单单几百行代码搞定一个计算器,内有各种条件判断!可以作为学习使用!

2020-04-15

.NET Core中的一个接口多种实现的依赖注入与动态选择看这篇就够了

最近有个需求就是一个抽象仓储层接口方法需要SqlServer以及Oracle两种实现方式,为了灵活我在依赖注入的时候把这两种实现都给注入进了依赖注入容器中,但是在服务调用的时候总是获取到最后注入的那个方法的实现,这时候就在想能不能实现动态的选择使用哪种实现呢?如果可以的话那么我只需要在配置文件中进行相应的配置即可获取到正确的实现方法的调用,这样的话岂不快哉!今天我们就来一起探讨下实现这种需求的几种实现方式吧。

2019-01-15

.Net Core2.1+NLog+SqlServer+MySql使用实例

asp.Net Core2.1使用灵活简单的日志记录框架NLog+SqlServer的示例代码!

2018-08-09

华三-磁盘序列

华三一些列关于存储方面的教程,这是磁盘阵列篇!希望对大家有帮助!

2012-08-23

华三存储技术之RAID技术

华三的存储技术已经相当完善,这里给出比较详细的一系列教程!希望大家共同学习!

2012-08-23

华三存贮基础之硬盘技术

华三存储技术之硬盘技术,从零开始学习!这里有一整套的技术1

2012-08-23

ASA防火墙培训

这份资料很详细的介绍了防火墙的配置!很适合初学者!

2012-08-23

空空如也

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

TA关注的人

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