Microsoft.Practices.EnterpriseLibrary.* 的替代品

sim*_*hid 3 .net c# upgrade

我有一个项目是老开发者交给我的,需要升级。查看所有参考库(在 .Net C# 中)。我看到 Microsoft.Practices.EnterpriseLibrary.* 的集合正在使用中。

从他们的 Microsoft.Practices.EnterpriseLibrary 网站上,我看到它没有得到维护或更新,似乎已被淘汰/将在不久的将来被删除。

我正在为以下库寻找替代方案。请告知可用的最佳库是什么。

  • Microsoft.Practices.EnterpriseLibrary.Caching ----> ?
  • Microsoft.Practices.EnterpriseLibrary.Common ----> ?
  • Microsoft.Practices.EnterpriseLibrary.Common.Configuration ------> ?
  • Microsoft.Practices.EnterpriseLibrary.Data ------> ?
  • Microsoft.Practices.EnterpriseLibrary.ExceptionHandling ----> ?
  • Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging ----> ?
  • Microsoft.Practices.EnterpriseLibrary.Logging ----> ?
  • Microsoft.Practices.EnterpriseLibrary.Logging.Database ----> ?

Ath*_*ras 8

来自维基:

Microsoft Enterprise Library 是一组用于 Microsoft .NET Framework 的工具和编程库。它提供 API 以促进在编程的核心领域(包括数据访问、日志记录、异常处理等)中经过验证的实践。Enterprise Library 以可插拔的二进制文件和源代码的形式提供,开发人员可以根据自己的目的自由使用和定制。它还附带测试用例和快速入门。

所以时代变了,上述每个dll都没有一对一的解决方案。有很多方法可以解决每个单独的领域,这就是没有维护企业库的主要原因。这在当时是一个很好的一体式解决方案,但它跟不上现代世界的多功能需求。

就 .net 项目而言,缓存是最简单的。尽管我建议您寻找跨 Web 服务器和应用程序的分布式缓存解决方案(不是单向解决方案)。 Microsoft.Practices.EnterpriseLibrary.Caching->系统运行时缓存

Microsoft.Practices.EnterpriseLibrary.Logging -> 取决于框架。

例如在 .Net Core Net Core logging 中。在标准 .Net 中,我们最近为 dot net 迁移到 NLog,我们将它用于 EventViewer 条目和应用程序洞察。有很多多功能工具可供选择。

Microsoft.Practices.EnterpriseLibrary.ExceptionHandling -> 取决于实现

在 WebApi 实现中,您可以使用Filters,HandlersMiddlewares来全局处理异常并应用策略。

在 WCF 世界中,虽然 EnterpriseLibrary 是处理异常的主要方式。之类的东西ExceptionShielding都没有真正的替代除了写自己的自定义代码。

Microsoft.Practices.EnterpriseLibrary.Data - 需要使用我们那里的大量数据库访问 API 和框架之一进行认真的重构。