刷新
记一次 .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]属性来丰富日志。 我们仍然使 ...

搞懂.NET应用程序管理员权限:三种简单方法一网打尽

博主头像 概述:.NET应用程序以管理员身份运行的方法包括修改清单文件、项目文件,或在运行时动态请求管理员权限。清单文件和项目文件通过声明UAC请求,而动态请求管理员权限则在程序启动时检查并重新启动。选择适当的方法取决于项目需求和配置。 在.NET应用程序中强制以管理员身份运行,可以通过清单文件、项目文件或者 ...

借助HttpWebRequest 调用第三方接口,获取Token和数据

博主头像 在一次项目中,在给客户做系统时,需要调用客户的系统获取数据,客户提供了获取Token和获取数据的接口,用户名和密码,认证方式是基于Bearer的,通过学习和找资料,提供一个C#示例 一个C#示例 1、传入语句获取数据 /// <summary> /// 传入语句获取数据 /// </summary> ...

CYQ.Data 操作 Json 性能测试:对比 Newtonsoft.Json

博主头像 在 CYQ.Data 版本更新的这么多年,中间过程的版本都在完善各种功能。基于需要支持或兼容的代码越多,很多时候,常规思维,都把相关功能完成,就结束了。实现过程中,无法避免的会用到大量的反射、锁等对性能有所影响的逻辑代码。CYQ.Data 从V5.9 版本开始,开始大规模的优化调整代码,目前稳定在 ... ...

<1···789···50>