
c#
SQLServer连接池默认启用但须显式声明Pooling=true,避免配置覆盖导致意外关闭;MaxPoolSize宜从100起压测,MinPoolSize=0更健康;连接泄漏会使池失效,务必用us...
Finalizer中只能安全释放本机资源,禁止调用托管对象方法、访问非静态成员、抛出异常或使用同步机制;推荐用IDisposable+SafeHandle替代。
AutoResetEvent与ManualResetEvent的核心区别在于重置责任:前者WaitOne()唤醒一个线程后自动Reset(),后者唤醒所有线程后保持信号状态直至手动Reset();初始...
Task.Run默认使用TaskScheduler.Default(线程池调度器),不捕获同步上下文,适合后台任务;Task.Factory.StartNew默认用TaskScheduler.Curr...
C#依赖注入核心是用IServiceCollection注册服务、ServiceProvider解析使用;支持Transient(每次新建)、Scoped(每请求共享)、Singleton(全局唯一)...
lock无竞争时开销极低(纳秒级),真正损耗在阻塞引发的上下文切换(几十微秒);推荐用Interlocked替代简单计数,读多写少场景优先用ReaderWriterLockSlim。
C#异常处理关键在于精准捕获与合理响应:只捕获能处理的异常,优先用TryParse等无异常API;捕获特定异常如FileNotFoundException或SqlException(1205)并针对性...
C#中导出XML为CSV需先用XDocument解析XML提取数据,再按CSV规范转义字段(含逗号、引号、换行符时加双引号并转义引号),最后用StreamWriter以UTF-8withBOM编码写入...
.NETCore中ServicePointManager完全无效,因其网络栈重写为基于HttpClientHandler/SocketsHttpHandler;应改用HttpClientHandler...
.NET7中Span/Memory优化降低高并发I/O解析开销,ThreadPool默认配置提升突发响应但需慎用预热,ServerGC减少STW时间,AOT降低启动延迟和内存占用但牺牲动态特性。