dotnet
IT杂人
有其功必有其效
展开
-
记一次webapi使用Cache特性被缓存击穿的问题
记一次webapi使用Cache特性被缓存击穿的问题原创 2022-10-28 21:14:10 · 819 阅读 · 0 评论 -
dotnet开发使用runtimeconfig.json设置程序默认的最小线程数
dotnet开发使用runtimeconfig.json设置程序默认的最小线程数原创 2022-08-16 10:11:54 · 1251 阅读 · 0 评论 -
docker容器内与宿主机的进程ID对应关系
dotnet容器使用线程异常;想使用精简版本的createdump内存出来分析,不知道进程IP,不能使用命令ps,也不能联网;但createdump $pid;1.容器在宿主机中的PID//宿主机中使用docker inspect containerName |grep Pid2.容器内部的PID//使用docker exec 进入容器内部cat /proc/*/sched |grep threads看到/proc/pid/xxx :中间的数字表示容器内部进程ID3.容器内部PID与原创 2022-05-30 20:20:03 · 3599 阅读 · 1 评论 -
centos手动安装dotnet-sdk环境和dotnet调试工具
因公司内网和客户的环境,都无法连接yum外网。上传三个安装包和一个依赖包官方下载即可:dotnet-sdk-5.0.407-linux-x64.tardotnet-stackdotnet-traceicu-50.2-4.el7_7.x86_64.rpm(如果icu安装时,还有其他依赖包,需要再下载子依赖包,下载方法可见 https://blog.csdn.net/atzqtzq/article/details/122999671)解压dotnet压缩包mkdir -p $HOME原创 2022-04-26 20:46:39 · 2870 阅读 · 0 评论 -
.net调试:使用visual studio调试dump文件
visual studio调试dump文件最近发现线程有问题:可能有死锁或者饿死状态右键选择创建转储文件转到对应的目录下,找到dmp文件使用vs打开,选择其中一个调试,我一般用混合调试=》窗口=》线程、进程、模块、并行堆栈查看堆栈:查看线程关系及依赖关系查看线程:查看线程发生的位置和使用状态...原创 2022-04-20 23:59:11 · 1492 阅读 · 0 评论 -
文件“bin\Debug\net6.0\TestConsumer.exe”正由另一进程使用,因此该进程无法访问此文件。
因为生成的TestConsumer.exe,在关闭vs也有没关闭;在任务管理器上也不方便找到;无法将文件“E:\Repos.My\NewLife.RocketMQ-master\TestConsumer\obj\Debug\net6.0\apphost.exe”复制到“bin\Debug\net6.0\TestConsumer.exe”。文件“bin\Debug\net6.0\TestConsumer.exe”正由另一进程使用,因此该进程无法访问此文件。 TestConsumer C:\Pro原创 2022-04-12 17:44:08 · 164 阅读 · 0 评论 -
docker容器资源限制与容器内的dotnet应用线程限制
docker容器资源限制使用docker-compose管理容器所以yml文件配置可以 增加 deploy: resources: limits: cpus: "8" memory: 4096M reservations: cpus: "0.05" memory: 500Mlimits=> cpus: “8” //cpu利用率最大限制:建议设置成实际cpu核数的一原创 2022-04-02 22:07:47 · 3809 阅读 · 0 评论 -
log4net配置造成无错误日志输出
问题出现:在docker容器启动后,能正常提供一段时间的服务,过一段时间发现容器异常重启;查看映射出来的日志文件后,未发现任何Error级别的日志;问题分析:1.日志文件映射问题2.docker 错误输出3.docker 自身问题4.log4net 配置问题验证分析1.日志正常输出,有其他的Info,Debug级别日志输出2.docker logs 能查到错误输出【未验证】3.docker 刚刚重启过,其他同框架写的后端服务没问题4.查看log4net日志配置解决问题log4ne原创 2022-03-14 23:59:06 · 1027 阅读 · 0 评论 -
netcore的依赖注入,在BackgroundService中使用Scope注入的服务
1.BackgroundService注入的服务默认为Singleton范围: services.AddHostedService<SyncDataJob>(); 或者 services.AddSingleton<IHostedService,SyncDataJob>();2.运行时,会报错:Cannot consume scoped service from singleton3.解决办法:a:使用IServiceScopeFactory 工厂 pu原创 2021-11-21 01:56:26 · 2816 阅读 · 0 评论 -
vs无法产生pdb文件,也就无法断点调试
1.按网上各种配置以后,发现还是不行这个是很苦恼的一件事,为什么别人的都行,偏偏自己的不对。2.最后想到可能是csproj文件配置问题,因为生成和发布的文件都不存在pdb文件。仔细过了一遍csproj文件,发现:<DebugType>none</DebugType><DebugSymbols>false</DebugSymbols>修改为none为fullfalse为true后,调试断点正常3.最后去开源仓库的issue中查找是否有同样问题,原创 2021-07-04 23:38:20 · 1575 阅读 · 0 评论 -
dotnet 命令行发布与启动
我们常常只需要测试目标代码是否可用,而不需要打开繁重的IDE,虽然是最好用的IDE.1.获取源码git clone https://git.xxx.com/test.git2.进入代码目录cd test\src3.添加自定义nuget,如果不使用,则不需要;已经存在可略过dotnet nuget add source http://nuget.mynuget.cn/nuget --name=mynuget4.还原库文件dotnet restore . #有点号5.生成测试,没问题原创 2021-05-26 12:55:16 · 2324 阅读 · 0 评论 -
dotnet多进程启动时,附加进程如何精准找到对应的进程
问题描述:启动多个dotnet程序时,通过Ctrl+Alt+P附加时,不能分辨哪一条是对应的进程解决方案:方案一:通过进程ID,程序启动时展示进程ID /// <summary> /// application扩展 /// </summary> public static class ApplicationExtension { /// <summary> /// 显示进程ID原创 2021-05-19 16:00:51 · 535 阅读 · 0 评论