感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
现代 .NET 平台简介
- .NET 8 运行时、SDK 和统一平台概述
- .NET Framework、.NET Core 和 .NET 8+ 的演变比较
- 项目结构、目标框架和多目标基础
- 设置开发环境和工具
现代 C# 及面向未来的语言实践
- 记录、只初始化设置器和不可变性模式
- 模式匹配增强和 switch 表达式
- 可空引用类型和编译器驱动的安全性
- Async/await 最佳实践和内存高效流
- 泛型数学、接口中的静态抽象和性能导向的 API
- 为 .NET 8 上的 C# 12/13 特性准备代码库
ASP.NET Core 基础与应用程序引导
- 主机生成器、中间件管道和请求生命周期
- 最小 API 与基于控制器的 API:决策标准
- 配置提供程序、环境特定设置和机密管理
- 静态文件、路由和端点约定
- 依赖注入容器配置和服务生命周期
REST API 设计与实现
- REST 成熟度模型、资源建模和 URI 设计
- HTTP 方法、状态码和内容协商
- 请求验证、模型绑定和 FluentValidation 集成
- 公共和内部 API 的版本控制策略
- 使用 OpenAPI 和 Swagger UI 进行文档化
- 使用 TestServer 和 WebApplicationFactory 进行 API 集成测试
企业依赖注入与控制反转
- 构造函数注入、服务生命周期和捕获依赖
- 使用内置容器的装饰器和工厂模式
- Scrutor 和第三方 DI 库集成
- 模块化服务注册和基于功能的组织
- 通过中间件和过滤器处理横切关注点
日志记录、配置与集中错误处理
- 使用 Microsoft.Extensions.Logging 和 Serilog 进行结构化日志记录
- 日志级别、范围、丰富和接收器配置
- 异常中间件和全局错误处理管道
- ProblemDetails 和 RFC 7807 兼容的错误响应
- 健康检查、遥测和可观察性钩子
- 关联 ID 和分布式跟踪准备
企业 .NET 解决方案的软件架构
- 分层、六边形和清洁架构原则
- .NET 中的领域驱动设计构建块
- 使用 MediatR 的 CQRS 和中介者模式
- 使用 EF Core 的仓库和工作单元模式
- 垂直切片架构以实现功能内聚
- 评估单体、模块化单体和微服务的权衡
Web 应用程序和 API 的安全性
- 身份验证方案:JWT、OAuth2、OpenID Connect 和基于 cookie 的流程
- 授权策略、基于声明的访问和基于资源的守卫
- HTTPS 强制、HSTS 和安全标头中间件
- 输入清理、输出编码和 OWASP Top 10 缓解
- 速率限制、CORS 策略和反伪造令牌处理
- 使用 Azure Key Vault 进行机密管理和环境驱动的轮换
代码质量、可维护性与最佳实践
- 编码标准、EditorConfig 和 dotnet format
- 使用 Roslyn 分析器和 SonarQube 集成进行静态分析
- 使用 xUnit 进行单元测试,使用 Moq 或 NSubstitute 进行模拟
- CI 管道中的集成和契约测试
- 重构长期遗留模块的技术
- 文档化、API 合同和知识共享实践
现代化策略:评估遗留 .NET Framework 代码
- 组合分析:按关键性、复杂性和业务价值分类应用程序
- .NET 升级助手和兼容性分析器使用
- 识别已弃用的 API、平台特定依赖项和第三方差距
- Windows 特定 API 和 WCF 迁移考虑
- 创建基于风险优先级的迁移路线图
逐步迁移与共存技术
- 绞杀者模式:逐步替换遗留子系统
- API 优先迁移:通过 REST 门面暴露 .NET Framework 域
- 使用 RabbitMQ、Azure Service Bus 或 Kafka 进行基于消息的桥接
- 共享数据库共存和模式版本控制策略
- 在同一基础设施中并行运行 .NET Framework 和 .NET 8
- 容器化现代组件,同时将遗留部分留在 IIS 上
动手迁移实验与回顾
- 将升级助手应用于代表性遗留项目
- 将 Web Forms 或 WCF 服务重构为 ASP.NET Core API
- 在迁移的解决方案中实现 DI、日志记录和集中错误处理
- 为新的 API 表面添加身份验证和授权
- 通过端到端集成测试验证共存
- 回顾、问答及培训后现代化规划指导
要求
- 具备 C# 编程和面向对象设计原则的经验
- 熟悉 Web 开发概念(HTTP、HTML、CSS、JavaScript 基础)
- 基本了解关系型数据库和 SQL
- 之前接触过 .NET Framework 或 ASP.NET 有帮助,但不是必需的
受众
- 准备现代化遗留 .NET Framework 应用程序的 .NET 开发人员和架构师
- 转向企业 .NET 开发角色的软件工程师
- 负责平台迁移和共存规划的技术负责人
- 支持 .NET 应用程序生命周期的 DevOps 和基础设施人员
21 小时
客户评论 (2)
交互性与即时代码解决方案
Eduard-Emanuel Zaharia - Kruk Italia
课程 - Advanced Blazor
机器翻译
动手实践的机会和培训师的耐心
sheena - Te Manawa Taki Trauma System
课程 - Visual Studio 2022 IDE
机器翻译