Альтернативы Microsoft.Practices.EnterpriseLibrary. * - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть проект, который был передан мне старым разработчиком и нуждается в обновлении. Просматривая все справочные библиотеки (в. 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 Ответ

2 голосов
/ 27 апреля 2020

Из вики:

Библиотека Microsoft Enterprise - это набор инструментов и библиотек программирования для Microsoft. NET Framework. Он предоставляет API для упрощения проверенных практик в основных областях программирования, включая доступ к данным, ведение журналов, обработку исключений и другие. Корпоративная библиотека предоставляется в виде подключаемых двоичных файлов и исходного кода, которые могут свободно использоваться и настраиваться разработчиками для своих собственных целей. Он также поставляется с тестовыми примерами и быстрыми запусками.

Таким образом, времена изменились, и нет единого решения для каждого из вышеупомянутых dll. Существует множество способов решения каждой отдельной области, и это является основной причиной того, что библиотека Enterprise не поддерживается. В свое время это было отличное решение, подходящее для одного случая, но оно не может удовлетворить универсальные потребности современного мира.

Кэширование является самым простым с точки зрения. net элементов. Хотя я бы посоветовал вам искать решения для распределенного кэширования, которые будут охватывать веб-серверы и приложения (не одностороннее решение). Microsoft.Practices.EnterpriseLibrary.Caching -> Кэширование во время выполнения системы

Microsoft.Practices.EnterpriseLibrary.Logging -> Зависит от платформы.

Например, в. Net Core Net Основные записи . В стандарте. Net мы недавно перешли на NLog для точки net, и мы используем ее как для записей EventViewer, так и для понимания приложения. Существует множество универсальных инструментов на выбор.

Microsoft.Practices.EnterpriseLibrary.ExceptionHandling -> Зависит от реализации

В реализации WebApi вы можете использовать Filters, Handlers или Middlewares для глобальной обработки исключений и применения политик.

В мире WCF, хотя EnterpriseLibrary был основным способом обработки исключений. Такие вещи, как ExceptionShielding, не имеют никакой реальной альтернативы, кроме написания собственного пользовательского кода.

Microsoft.Practices.EnterpriseLibrary.Data - Требуется серьезный рефакторинг с использованием одного из множества API-интерфейсов и баз для доступа к базе данных, которые есть у нас.

...