刷新
WinAppSDK / WinUI3 项目无法使用 SystemEvents 的问题

博主头像 SystemEvents 是一个开发 win32 窗口项目很常用的类,其中封装了一些常用的系统广播消息。在 WinUI3 项目中,SystemEvents 事件经常无法触发,简单排查了一下原因。 SystemEvent 内封装了一个线程和一个窗口,通过窗口消息在内部线程上调用事件,内部使用了 Sys ...

gRPC入门学习之旅(三)

gRPC是一个高性能、通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发,支持众多的开发语言,由Google开源。 gRPC 客户端和服务端可以在多种环境中运行和交互。你可以用Java创建一个 gRPC 服务端,用 Go、Python、C# 来创... ...

Orleans - 1 .NET生态构建分布式系统的利器

博主头像 在当今数字化时代,构建高效、可靠的分布式系统是许多企业和开发团队面临的挑战。微软的 Orleans 框架为解决这些挑战提供了一个强大而简单的解决方案。本文将介绍 Orleans 的核心概念,并通过一个简单的示例代码来演示其用法。 什么是 Orleans? Orleans 是由微软开发的一个开源分布式 ...

.NET Emit 入门教程:第三部分:构建模块(Module)

博主头像 嗯,构建模块,一行代码的事情,愣是让我写成了一篇教程,太难了。在这个入门教程的第三部分中,我们学习了如何使用.NET Emit 构建模块(Module)。通过创建和定义模块,我们可以更好地组织和管理我们的代码。在这个过程中,我们了解了如何使用 AssemblyBuilder 和 ModuleBuil... ...

前端优化 之 preload

博主头像 为了优化我们公司网站的性能,我最近引入了浏览器预加载技术(Preload)。 这项技术可以显著减少级联情况,提高资源加载的并行度,从而加速网站的加载速度。 Preload的原理 Preload的原理是在浏览器解析HTML文档时,提前加载页面所需的关键资源,如样式表、脚本文件和字体等。 通过预加载这些 ...

.Net MinimalApis响应返回值

博主头像 前言 文本主要讲 MinimalApis 中的使用自定义IResultModel和系统自带IResult做响应返回值。 MinimalApis支持以下类型的返回值: string - 这包括 Task<string> 和 ValueTask<string> T(任何其他类型)- 这包括 Task<T ...

记一次 .NET某游戏后端API服务 CPU爆高分析

博主头像 一:背景 1. 讲故事 前几天有位朋友找到我,说他们的API服务程序跑着跑着CPU满了降不下去,让我帮忙看下怎么回事,现在貌似民间只有我一个人专注dump分析,还是申明一下我dump分析是免费的,如果想学习.NET高级调试的分析技术,可以来我的训练营看看,话不多说,dump分析走起! 二:WinDb ...

重新记录一下ArcGisEngine安装的过程

博主头像 前言 好久不用Arcgis,突然发现想用时,有点不会安装了,所以这里记录一下安装过程。 下载Arcgis 首先,下载一个arcgis版本,我这里下的是10.1。 推荐【 gis思维(公众号)】,【麻辣GIS(网站)】。 当然了,这都是很旧很旧的版本了,基本上没有三维功能。 一定要下载带注册机的。 a ...

Advanced .Net Debugging 5:基本调试任务(线程的操作、代码审查、CLR内部的命令、诊断命令和崩溃转储文件)

一、介绍 这是我的《Advanced .Net Debugging》这个系列的第五篇文章。今天这篇文章的标题虽然叫做“基本调试任务”,但是这章的内容还是挺多的。上一篇我们了解了一些调.NET 框架中必要的概念,比如:内存转储、值类型转储、引用类型转储、数组转储和异常转储等,我们既能做到知其然,又能做 ...

Newtonsoft.Json/Json.NET忽略序列化时的意外错误

博主头像 在.NET中Newtonsoft.Json(Json.NET)是我们常用来进行Json序列化与反序列化的库。 而在使用中常会遇到反序列化Json时,遇到不规则的Json数据解构而抛出异常。 Newtonsoft.Json 支持序列化和反序列化过程中的错误处理。 允许您捕获错误并选择是处理它并继续序列 ...

C# 12 拦截器 Interceptors

博主头像 拦截器Interceptors是一种可以在编译时以声明方式替换原有应用的方法。 这种替换是通过让Interceptors声明它拦截的调用的源位置来实现的。 您可以使用拦截器作为源生成器的一部分进行修改,而不是向现有源编译添加代码。 演示 使用 .NET 8 创建一个控制台应用程序。并在Propert ...

C#整数除法探析:性能提升与精度平衡的设计之道

博主头像 概述:C#中整数除法返回整数,维护与低级语言兼容性,提高性能。虽然精度有损,但可通过显式浮点数转换实现小数保留。 在C#中,整数除法返回整数而不是浮点数,这是为了保持与低级语言(如C和C++)的兼容性,同时提高性能和降低复杂性。这种设计使得整数之间的除法操作更加高效,但可能导致精度丧失。 基础功能: ...

Csharp学习Linq

博主头像 Linq的学习 这里继续使用之前文章创建的学生类,首先简单介绍一下linq的使用。 Student.cs public class Student { public int Id { get; set; } public int ClassId { get; set; } public string ...

.Net依赖注入神器Scrutor(上)

博主头像 前言 从.Net Core 开始,.Net 平台内置了一个轻量,易用的 IOC 的框架,供我们在应用程序中使用,社区内还有很多强大的第三方的依赖注入框架如: Autofac DryIOC Grace LightInject Lamar Stashbox Simple Injector 内置的依赖注入 ...

.Net Core 使用 TagProvider 与 Enricher 丰富日志

博主头像 TagProvider [LogProperties] 与 [LogPropertyIgnore] 如果用在DTO不存在任何问题,如果用在Domain实体上,可能有点混乱。 您可能不希望因日志记录问题而使您的域模型变得混乱。对于这种情况,可以使用[TagProvider]属性来丰富日志。 我们仍然使 ...

<1···8910···50>