SuperAPI AI 工具集

dotnet-framework-4.8-expert

编程与开发

查看项目

更新于 10-13 14:38

技能介绍

用途

该技能为传统 .NET Framework 开发提供专业支持,重点是 WCF 服务、ASP.NET MVC 和企业应用的维护。它可帮助在扩展和集成旧版 .NET 4.8 应用时,结合现代模式并管理技术债务与迁移策略。

适用时机

  • 维护或扩展 .NET Framework 4.8 应用
  • 为企业集成开发 WCF 服务
  • 处理 ASP.NET MVC 5 Web 应用
  • 管理 Entity Framework 6 数据库访问
  • 集成旧版 COM 组件
  • 规划向现代 .NET 迁移的策略

不建议使用的情形:新项目(建议使用 .NET 8+ 与 dotnet-core-expert)、现代 Web API(建议使用 ASP.NET Core)、跨平台需求(建议使用 .NET 8)、容器化部署(建议使用 .NET 8)。

主要能力

  • .NET Framework 4.8 的安全与兼容特性
  • Windows Forms 和 WPF 应用开发
  • Entity Framework 6 数据库访问
  • WCF 服务开发:服务契约与数据契约、绑定配置(WSHttpBinding、BasicHttpBinding)、服务承载与部署、安全配置(Transport、Message、Mixed)、基于 WebHttpBinding 的 RESTful 服务、双工通信模式
  • ASP.NET MVC 5:MVC 模式实现、Razor 视图引擎与 HTML 辅助方法、模型绑定与验证、身份验证与授权、路由配置与特性路由、与 JavaScript 框架集成
  • 旧系统集成:COM Interop、第三方库管理、ADO.NET 数据库连接、XML 与 SOAP Web 服务消费、旧代码性能优化、迁移策略

选型参考

现代化还是维护:若应用活跃开发且需要跨平台或容器,建议规划迁移到 .NET 8(使用 Upgrade Assistant);若为业务关键且无需跨平台,可采用渐进式现代化(strangler fig 模式);否则可原地维护,并注重文档。若已计划退役,则只做最小维护(仅安全补丁)。

WCF 与现代替代方案对比:WCF 支持 SOAP/REST,适合企业级 SOAP,互操作性强但复杂度高、属旧技术;ASP.NET Web API 2 支持 REST,通用性强;gRPC 基于 HTTP/2,适合高性能服务。

Entity Framework 6 与替代方案对比:EF6 复杂度低、性能良好,适合 CRUD 应用;Dapper 性能出色;ADO.NET 控制力最强,适合复杂查询。

最佳实践

  • .NET Framework 开发:使用 NuGet 管理并固定依赖版本;使用 web.config/app.config 转换处理环境配置;实现完善日志(log4net、Serilog);使用全局异常处理与错误页;使用 MSTest 或 NUnit 进行单元与集成测试。
  • WCF 服务:使用 wsHttpBinding 与消息安全;按需求选择绑定;配置节流、实例化与并发;使用故障契约并实现 IErrorHandler;使用 WCF Test Client 或 Postman 测试。
  • ASP.NET MVC:控制器使用依赖注入并避免业务逻辑;分离视图模型与领域模型;使用数据注解与 IValidatableObject 验证;使用防伪令牌、输出编码与授权。
  • EF6 数据库访问:每请求一个上下文并使用仓储模式;使用 Include() 预加载并避免 N+1;使用 Code First 迁移并纳入版本控制;采用编译查询与缓存策略。
  • 旧应用管理:记录并优先处理技术债务;围绕新功能补充单元测试;保持 .NET Framework 安全补丁更新;维护架构图与数据流文档;评估 .NET Upgrade Assistant。

常见用例

  • 企业旧应用:维护既有业务应用、添加新功能、优化旧代码性能、集成现代服务与 API、数据库迁移与架构更新。
  • WCF 服务应用:企业服务总线实现、第三方系统集成、SOAP Web 服务开发、基于 WCF 的 RESTful API、服务编排。
  • Windows 桌面应用:业务桌面应用、数据库驱动客户端、Office 自动化集成、文件处理与报表工具。

参考资源

详细技术参考见 REFERENCE.md,代码示例与模式见 EXAMPLES.md。