Microsoft.Practices.EnterpriseLibrary.*的替代方案

5

我接手了一项项目,由老开发人员交接,需要升级。检查所有参考库(在.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 ----> ?
1个回答

11

来自维基百科:

微软企业库是Microsoft .NET Framework的一组工具和编程库。它提供API以促进核心程序设计中的数据访问、日志记录、异常处理和其他领域的成熟实践。Enterprise Library提供可插拔的二进制文件和源代码,开发人员可以自由使用和定制。它还附带了测试用例和快速入门。

时代在不断变化,对于上述每个dll都没有一种一对一的解决方案。有很多方法来解决每个单独的领域,这就是为什么Enterprise Library不再维护的主要原因。虽然它曾经是一个伟大的适合所有情况的解决方案,但现代世界的多样化需求使其无法跟上步伐。

在 .net 中,缓存是最容易实现的。尽管我建议您寻找跨 Web 服务器和应用程序(而不是单向解决方案)的分布式缓存解决方案。 Microsoft.Practices.EnterpriseLibrary.Caching -> System runtime caching

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

例如,在.Net Core中,可以使用Net Core日志记录。在标准的.Net中,我们最近转向了NLog,用于dot net和应用程序洞察的事件查看器条目。有很多多才多艺的工具可供选择。
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling -> 取决于实现方式
在WebApi实现中,您可以使用Filters、Handlers或Middlewares来全局处理异常并应用策略。
但是,在WCF世界中,EnterpriseLibrary是处理异常的主要方法。像ExceptionShielding这样的东西没有真正的替代品,除非编写自己的自定义代码。
Microsoft.Practices.EnterpriseLibrary.Data - 需要认真重构,使用众多数据库访问API和框架之一。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接