刷新
dotnet 警惕 async void 线程顶层异常

在应用程序设计里面,不单是 dotnet 应用程序,绝大部分都会遵循让应用在出现未处理异常状态时终结的原则。在 dotnet 应用里面,如果一个线程顶层出现未捕获异常,则应用进程将会被认为出现异常状态而退出。通常来说就是未捕获异常导致进程闪退 ...

什么?博客园主题比我的个人博客好看?

博主头像 # 什么?博客园主题比我的个人博客好看? # 梦开始的地方 最近逛博客园,发现我的园子还挺好看,但是还不够好看,所以通过我百度发现SimpleMemory主题还可以继续添加新的东西,当然这些东西不一定非得用SimpleMemory主题才行,但是搭配SimpleMemory主题是真的好看呀(比 ...

C#代码重构的几个典型案例

博主头像 前段时间小编检查同事代码,发现居然写的太复杂看不太懂,代码命名不规范,重复冗长代码一堆,这时候就可以通过重构来改进代码的质量。代码重构是提高代码质量和可维护性的关键过程,它旨在通过优化代码结构和设计来提高代码的可读性、可理解性和可扩展性。本文讲述在C#中重构代码的几个案例,供大家参考。 **1、命名 ...

【EF Core】主从实体关系与常见实体关系的区别

博主头像 上次老周扯了有关主、从实体的话题,本篇咱们再挖一下,主、从实体之间建立的关系,跟咱们常用的一对一、一对多这些关系之间有什么不同。 先看看咱们从学习数据库开始就特熟悉的常用关系——多对多、一对一、一对多说起。数据实体之间会建立什么样的关系,并不是规则性的,而是要看数据的功能。比如你家养的狗狗和水果(你 ...

.NET Core中RabbitMQ初识

博主头像 .NET Core中RabbitMQ初识 目录.NET Core中RabbitMQ初识前提RabbitMq介绍什么是消息队列应用场景削峰填谷异步提速消息模型点对点模式代码附上work消息模型代码附上能者多劳发布订阅模式消费者1收到的天气消费者2收到的天气生产者发送天气Routing 路由模型生产者消 ...

自定义类型的相等判断

博主头像 实现自定义类型的相等性判断([参考链接](https://learn.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-f ...

解耦、异步、削峰是什么

博主头像 解耦 含义 系统各个模块或组件之间的耦合度降低,使得它们能够独立地进行开发、测试、部署和维护。通过解耦,可以提高系统的可维护性、可扩展性和可重用性。 使用场景 将前端和后端分离,通过API接口就行通信,使得前端和后端可以独立开发、测试和部署。 使用消息队列解耦生产者和消费者,生产者将消息发送到消息队 ...

Task的基本概念、使用方法和实例代码

博主头像 基本概念 是一种用于异步编程的概念。Task的重要特点是可以在后台执行方法或操作,而不会阻塞主线程或UI线程。 封装的异步操作,表示执行的操作正在进行。可以表示一个方法的返回值或者表示执行的操作已经完成。 Task类的主要成员 属性:TaskStatus、IsCanceled、IsCompleted ...

.NET 个人博客-发送邮件优化

博主头像 # 个人博客-发送邮件优化 # 前言 之前的发送邮件就弄了个方法,比如回复评论会给评论的人发送邮件,留言回复也是,而且2者的代码有很多一样的地方,比较冗余。然后也是抽空优化一下,思路也是比较常用的工厂+策略模式,然后评论回复和留言回复的模板是不一样的,所以需要创建模板类和方法。。。 内容比较多, ...

Net 编译器平台--- Roslyn Scripting APIs

博主头像 # 引言 上一篇中[.Net 编译器平台 Roslyn](https://niuery.com/post/67),介绍了Roslyn的各项功能,包括公开API,使用语法,使用语义,使用工作区等功能。 那么回到上一篇中提到的问题,实现类似这样的功能(以下代码为伪代码): ```csharp strin ...

Net 编译器平台 --- Roslyn

博主头像 # 引言 最近做一个功能想要动态执行C#脚本,就是预先写好代码片段,在程序运行时去执行代码段,比如像这样(以下代码为伪代码): ```csharp string scriptText = "int a = 1;int b = 2; return a+b ;"; var result = Script ...

Avalonia 11.0.0 正式版发布

博主头像 # Avalonia 11.0.0 正式版发布! [AvaloniaUI](https://github.com/AvaloniaUI/Avalonia/releases/tag/11.0.0) 发布11.0.0正式版 终于avalonia发布了正式版。 ## 内容 今天,我们非常高兴地宣布Av ...

通dnSpy 去除Spire.PDF的PDF水印

博主头像 打开加载Spire.PDF 在 PdfDocument 类中搜索LicenseProtector 点击进入 䯈() (这个方法每个版本不一样 ,按实际来)修改该方法 永远返回true 鼠标放到第53行 然后鼠标右键 编辑IL指令 进入修改界面 注意高亮第0055行 修改ldc.i4.0为idc.i4 ...

C#提高LINQ运行效率的PLINQ

博主头像 首先来了解一下什么是Plinq,我们来看看官方的描述:并行 LINQ (PLINQ) 是语言集成查询 (LINQ) 模式的并行实现。PLINQ 将整套 LINQ 标准查询运算符实现为 System.Linq 命名空间的扩展方法,并提供适用于并行操作的其他运算符。PLINQ 将 LINQ 语法的简洁和 ...

一个跨平台的`ChatGPT`悬浮窗工具

博主头像 # 一个跨平台的`ChatGPT`悬浮窗工具 使用`avalonia`实现的`ChatGPT`的工具,设计成悬浮窗,并且支持插件。 ## 如何实现悬浮窗? 在使用`avalonia`实现悬浮窗也是非常的简单的。 实现我们需要将窗体设置成无边框 在`Window`根节点添加一下属性,想要在Linux下 ...

ASP.NET Core Web API之Token验证

博主头像 在实际开发中,我们经常需要对外提供接口以便客户获取数据,由于数据属于私密信息,并不能随意供其他人访问,所以就需要验证客户身份。那么如何才能验证客户的什么呢?今天以一个简单的小例子,简述ASP.NET Core Web API开发过程中,常用的一种JWT身份验证方式。仅供学习分享使用,如有不足之处,还... ...

将 SmartAssembly 与单文件可执行文件一起使用 (.NET Core 6)

博主头像 .NET Core 6引入了创建单文件可执行文件的功能。这只允许分发一个应用程序文件,因为所有配置和依赖项都包含在二进制文件本身中。 该功能为依赖项嵌入提供了一种本机方法,这在发布生成数百个程序集的独立应用程序时最有益。它可用于依赖于框架或自包含的应用程序,但在这两种情况下都需要设置运行时标识符以针 ...

<1···101112···14>