git
-
.NET Core的历史与演变:它如何统一了整个.NET平台
.NET Core推动跨平台发展,2016年发布1.0版本,实现模块化、高性能和多系统支持;2020年.NET 5开启统一时代,整合生态,终结碎片化;此后每年发布新版,.NET 8持续优化云原生与企业级能力,现代.NET成为唯一推荐平台。 .NET Core 的出现和发展,从根本上改变了 .NET …
-
C# 如何使用HttpClientFactory – 管理HttpClient生命周期的最佳实践
不能每次都new HttpClient,因其设计为长生命周期对象,频繁创建会致Socket耗尽。正确做法是使用IHttpClientFactory管理实例。推荐使用类型化客户端封装逻辑,配合命名客户端区分服务目标,并集成Polly实现重试熔断。注册AddHttpClient后由DI容器统一管理生命周…
-
C# 如何克隆一个Git仓库 – LibGit2Sharp库的使用
使用 LibGit2Sharp 克隆 Git 仓库需调用 Repository.Clone() 方法,支持 HTTPS、SSH 等多种协议;通过 CloneOptions 可配置认证、深度、分支、裸仓库等选项,注意 GitHub 需用 PAT 替代密码。 使用 LibGit2Sharp 克隆 Git…
-
C# Path类的常用方法 – 跨平台的文件路径操作
Path类是C#中轻量安全的跨平台路径处理工具,仅做字符串操作;推荐用Path.Combine拼接、内置方法提取信息、配合IsPathRooted等校验,避免手动拼接或字符串切割。 Path 类是 C# 中处理文件路径最轻量、最安全的工具,它不涉及磁盘 I/O,只做纯字符串操作,天然跨平台(Wind…
-
C# Entity Framework Core中的迁移(Migrations) – 数据库架构的版本控制
迁移是EF Core数据库版本控制机制,通过add-migration生成Up/Down方法脚本,update-database执行并记录至__EFMigrationsHistory表;开发中需及时生成、检查脚本、避免冲突;生产环境应导出SQL交DBA审核,禁用业务逻辑;注意重命名、多上下文等特殊处…
-
C# HttpClient的正确使用姿势 – 避免Socket耗尽问题的最佳实践
HttpClient 应长期复用而非频繁创建,推荐使用静态实例或 IHttpClientFactory;静态实例无需 Dispose,工厂创建的客户端由其统一管理生命周期,避免 Socket 耗尽与连接泄漏。 HttpClient 不是用完即弃的对象,反复创建会耗尽系统 Socket 连接,导致 S…
-
.NET与Azure的完美结合:构建和部署可扩展的云应用程序
.NET 与 Azure 深度集成,提供高性能、可扩展的云开发方案。1. Azure 原生支持 .NET,Visual Studio 实现一键发布;2. 跨平台运行于 Windows/Linux,结合 App Service、AKS 实现自动伸缩;3. ASP.NET Core 与 EF Core …
-
为什么微软要开源.NET?这对开发者社区意味着什么
微软开源.NET旨在适应开源与跨平台主导的开发环境,通过打破Windows限制、构建活跃生态、赢得开发者信任、加速技术创新,推动其进入云计算与多平台核心领域。此举使开发者能在任意操作系统使用、修改和分发.NET,享受免费高效的开发体验,获得底层源码访问权与控制权。同时催生了ASP.NET Core、…
-
如何为.NET开源项目做出贡献?从提交第一个PR开始
第一步是选择标有”good first issue”的.NET开源项目问题,如在GitHub搜索”label:good-first-issue org:dotnet”并按C#语言筛选;接着Fork项目、克隆到本地,依据CONTRIBUTING.md和R…
-
为何C# XML解析在服务器上成功,在本地失败? 环境差异排查
答案:C# XML解析本地失败服务器成功主因是环境差异。1. 路径问题:本地工作目录与服务器不同,需用AppDomain.CurrentDomain.BaseDirectory确认真实路径;2. 权限不足:本地进程无权访问特定目录,尝试管理员运行;3. 编码格式:XML文件带BOM或换行符不一致影响…