1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dotnetchina-Furion

03.03.2025 19:10
GitLife Service Account


  • Новые возможности

    • [Добавлено] .AddConsoleFormatter() расширяет простоту конфигурации шаблонов логов в консоли 4.5.0 #I5TCMO
    • [Добавлено] Время в логах консоли и файла по умолчанию отображается как день недели 4.5.1 #I5TKL5
    • [Добавлено] Конфигурирование формата даты options.DateFormat в логах консоли и файла 4.5.1 #I5TKL5
    • [Добавлено] Цветной вывод логов в консоли, например, выделение уровня логов 4.5.1 #I5TKL5
    • [Добавлено] Полностью пользовательская конфигурация обработчика записи options.WriteHandler в конфигурации форматирования логов консоли 4.5.2 7fb3036
    • [Добавлено] Конфигурация форматирования JSON для вывода логов 4.5.2 #I5TWC1 #I5OUT1
    • [Добавлено] Независимое конфигурирование шаблона логов базы данных и формата даты 4.5.2 #I5TWC1
    • [Добавлено] Атрибуты LogDateTime, ThreadId, State в структуре класса LogMessage 4.5.2 #I5TWC1
  • Разрушительные изменения

    • [Изменено] Подкорректирована логика LoggingMonitor, удалена прежняя концепция хранения информации мониторинга через .ScopeContext 4.5.2 #I5TWC1
  • Устранение ошибок

    • [Исправлено] Проблема с неправильным отображением категории логов при использовании методов расширения строковых логов с шаблонами 4.5.0 #I5TBKL
    • [Исправлено] Проблема с невалидностью настроек .ScopeContext в логах консоли 4.5.2 7fb3036
    • [Исправлено] Проблема с двойным триггером события мониторинга логов при одновременной настройке глобального и локального мониторинга 4.5.2 a1a97e8
    • [Исправлено] Проблема с конкурентным доступом при запросах из сети после обновлений до версий v4.4.8+ 4.5.2 #I5TWL3
  • Другие изменения

    • [Изменено] По умолчанию используется новый шаблон логов файла, который форматирует время логов и показывает день недели 4.5.1 #I5TKL5
  • [Изменено] По умолчанию активирован services.AddConsoleFormatter() в шаблоне проекта 4.5.1 #I5TLI6

  • [Изменено] По умолчанию активирован services.AddConsoleFormatter() в методе Serve.Run() 4.5.1 #I5TLI6

  • Документация

    • [Добавлено] Решение проблемы повторного вызова событий мониторинга #I5T9PR(https://gitee.com/dotnetchina/Furion/issues/I5T9PR)
    • [Обновлено] Документация по логированию и динамическому WebAPI
Последнее сообщение коммита: 😊 !601 发布 Furion v4.5.2 版本 #I5TXON 国庆节快乐 🎉🎉🎉
03.03.2025 19:08
GitLife Service Account

  • НОВЫЕ ФУНКЦИОНАЛЬНЫЕ ОБЛАСТИ

    • [Добавлено] метод расширения .AddConsoleFormatter() для упрощенного конфигурирования шаблонов логов в консоли #I5TCMO
    • [Добавлено] поддержка отображения дня недели по умолчанию для логов в консоли и файлах #I5TKL5
    • [Добавлено] возможность конфигурации формата даты options.DateFormat для логов в консоли и файлах #I5TKL5
    • [Добавлено] цветное отображение логов в консоли, например, выделение уровня логов #I5TKL5
  • РЕШЕННЫЕ ПРОБЛЕМЫ

    • [Исправлено] проблема с некорректным отображением категории логов CategoryName при использовании метода расширения со строками и генериками #I5TBKL
  • ДРУГИЕ ИЗМЕНЕНИЯ

    • [Изменено] по умолчанию используется форматированная строковая метка времени для логов в файлах, которая также показывает день недели #I5TKL5
    • [Изменено] по умолчанию активируется services.AddConsoleFormatter() в шаблонах кода #I5TLI6
    • [Изменено] по умолчанию активируется services.AddConsoleFormatter() в коде запуска сервера Serve.Run() #I5TLI6
  • ДОКУМЕНТАЦИЯ

    • [Обновлено] документация по логированию
Последнее сообщение коммита: 😊 通过 Jenkins 发布 v4.5.1 版本文档
03.03.2025 19:07
GitLife Service Account

  • НОВЫЕ ФУНКЦИОНАЛЬНОСТИ

    • [НОВАЯ] .AddConsoleFormatter() расширяет простоту конфигурации шаблонов для логов в консоли #I5TCMO
  • РЕШЕННЫЕ ПРОБЛЕМЫ

    • [РЕШЕНО] Расширение логов с использованием строк и методов с генериками некорректно отображает категорию логов CategoryName #I5TBKL
  • ДОКУМЕНТАЦИЯ

    • [ОБНОВЛЕНО] Обновление документации по записи логов
Последнее сообщение коммита: 😊 !595 发布 Furion v4.5.0 版本 #I5TD4X
03.03.2025 19:07
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине для контроля за выводом логов сервисов #I5QLY5
    • [Добавлено] Возможность реализации любого множества нормализованных результатов функций, поддерживающая конкретные контроллеры и методы #I5QZ37
    • [Добавлено] Динамическое добавление расширений файла логов через ILoggerFactory #I5R9PO
    • [Добавлено] Статический метод парсинга аргументов командной строки App.GetCommandLineConfiguration(args) 803542c
    • [Добавлено] Поддержка возврата колич�数量的文本超过了限制,以下是剩余部分的翻译:
  • Разрушительные изменения

    • [Поддерживается] .NET 6.0.9 и .NET 7.0 RC1 be5b40 1eee77b
    • [Изменено] Переименование метода .SetBodyBytes в .SetFiles #I5PMS5 #I5PIYI
    • [Изменено] Переименование FS.InitialContentTypeProvider() в FS.GetFileExtensionContentTypeProvider() 5fafc84
    • [Удалено] Удаление дизайна [BodyBytes] для удаленного запроса, замененный на использование HttpFile #I5PMS5 #I5PIYI
    • [Изменено] Изменение всех параметров AddInject и UseInject #I5QCF0
    • [Изменено] Все методы xxxAsStreamAsync теперь возвращают потоковые значения #I5QVEB
    • [Изменено] Расширенная конфигурация .Inject(), предоставляющая доступ к более низкому уровню #I5QVEB
  • Исправления ошибок

    • [Исправлено] Проблема с переполнением массива при использовании негенерических параметров в режиме прокси удаленного запроса #I5Q3SN
    • [Исправлено] Ошибочное запись IP клиента в логах LoggingMonitor #I5QCU1 !562
    • [Исправлено] Проблема с некорректной сериализацией данных при наличии параметра charset=gbk в ответе удаленного запроса #I5QVEB
    • [Исправлено] Проблема с потерей логов при отключении питания во время записи файловых логов db7d51b
    • [Исправлено] Проблема с потерей комментариев после применения метки [ApiDescriptionSettings(Tag = "")] к динамическим WebAPI или консольному приложению #I5REVF #I5RE4J
    • [Исправлено] Проблема с пустым исключением при активации базового логирования без конфигурационного файла 33817be
    • [Исправлено] Проблема с невозможностью фильтрации логов основного хоста в консольном приложении 33817be
    • [Исправлено] Проблема с неверной конфигурацией логирования в шаблоне проекта 33817be
    • [Исправлено] Проблема с возникновением исключения System.AggregateException при высокой частоте записи логов и установке контекста логирования #I5RFBQ
    • [Исправлено] Проблема с созданием лог-файлов из-за различий в разделителях путей между Windows и Linux #I5RFBQ
    • [Исправлено] Проблема с недействием параметра .WithData для объекта Oops.Oh/Bah !580
    • [Исправлено] Проблема с сериализацией экземпляра IEventSource при использовании Redis для события-хранителя 3e45020
    • [Исправлено] Проблема с увеличением нагрузки на процессор при очень частом вызове метода записи логов Log #I5SDK5
    • [Исправлено] Проблема с увеличением нагрузки на процессор и возникновением исключений при очень частом вызове метода отправки запросов #I5SJJR
    • [Исправлено] Проблема получения устаревших данных при интеграции с третьими сторонами для центра конфигураций 2cdef6b
  • Другие изменения - [Изменено] Поддержка использования JWTEncryption без регистрации services.AddJwt() #I5PPKE #I5POLZ

    • [Изменено] По умолчанию имя класса лога для событийной шины установлено как System.Logging.EventBusService #I5QLY5
  • Документация

    • [Добавлено] Документация по переходу с .NET 6 на .NET 7
    • [Добавлено] Интеграционная документация ASP.NET Core 7
    • [Добавлено] Документация по интеграции с центром конфигураций третьих сторон
    • [Добавлено] Документация по интеграции третьих сторон с событийной шиной Furion
    • [Добавлено] Документация по интеграции событийной шины с Apache Kafka #I5P5UG
    • [Обновлено] Документация по дружественным исключениям, логированию, удалённым запросам, внедрению зависимостей, мгновенной связи, событийной шине, Worker Service, юнит-тестированию, руководству пользователя, новым возможностям баз данных
Последнее сообщение коммита: 😊 !592 发布 Furion v4.4.9 版本 #I5SP37
03.03.2025 19:04
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине для управления выводом логов сервиса #I5QLY5
    • [Добавлено] Возможность реализации любого множества нормализованных результатов, поддерживающая конкретные контроллеры и методы #I5QZ37
    • [Добавлено] Динамическое добавление расширений файла лога через ILoggerFactory #I5R9PO
    • [Добавлено] Статический метод парсинга аргументов командной строки App.GetCommandLineConfiguration(args) 803542c
    • [Добавлено] Поддержка SQL-агентства для возврата количества затронутых строк #I5REJ9
    • [Добавлено] Поддержка произвольного имени файла лога с возможностью удаления старых логов #I5RFBQ
    • [Добавлено] Поддержка MIME типа .pcd как image/x-photo-cd 5fafc84
    • [Добавлено] По умолчанию логи содержат текущий ID потока Environment.CurrentManagedThreadId b8fe2cd
    • [Добавлено] Перегрузочный метод app.UseInject(Action<UseInjectOptions>), упрощающий конфигурацию 0b645fe
  • Разрушительные изменения

    • [Поддерживается] .NET 6.0.9 и .NET 7.0 RC1 be5b40 1eee77b
    • [Изменено] Удаление метода .SetBodyBytes и замена его на .SetFiles #I5PMS5 #I5PIYI
    • [Изменено] Переименование FS.InitialContentTypeProvider() в FS.GetFileExtensionContentTypeProvider() 5fafc84
    • [Удалено] Удаление дизайна [BodyBytes] для удаленного запроса, замена на использование HttpFile #I5PMS5 #I5PIYI
    • [Изменено] Изменение всех параметров AddInject и UseInject #I5QCF0
    • [Изменено] Изменение всех значений xxxAsStreamAsync для удаленных запросов #I5QVEB
  • Исправления ошибок

    • [Исправлено] Проблема с переполнением массива при использовании негенерических параметров в режиме прокси удаленного запроса #I5Q3SN
    • [Исправлено] Ошибочное записывание IP клиента в LoggingMonitor #I5QCU1 !562
    • [Исправлено] Проблема с некорректной сериализацией данных при наличии параметра charset=gbk в ответах удаленного запроса #I5QVEB
    • [Исправлено] Проблема с потерей логов при отключении питания во время записи файловых логов db7d51b
    • [Исправлено] Проблема с потерей аннотаций при применении метки [ApiDescriptionSettings(Tag = "")] к динамическим WebAPI или консольному приложению #I5REVF #I5RE4J
    • [Исправлено] Проблема с пустым исключением при активации базового логирования без конфигурационного файла 33817be
    • [Исправлено] Проблема с невозможностью фильтрации логов по умолчанию для консольного приложения 33817be
    • [Исправлено] Проблема с конфигурацией логирования в процессе создания скелета приложения 33817be
    • [Исправлено] Проблема с возникновением исключения System.AggregateException при высокой частоте записи логов и установке контекста логирования #I5RFBQ
    • [Исправлено] Проблема с созданием лог-файлов из-за различий в разделителях путей между Windows и Linux #I5RFBQ
    • [Исправлено] Проблема с недействием метода .WithData после применения к объекту Oops.Oh/Bah !580
    • [Исправлено] Проблема с сериализацией экземпляра IEventSource при использовании Redis для хранения событий 3e45020
    • [Исправлено] Проблема с увеличением нагрузки на CPU при частом вызове статического класса Log для записи логов #I5SDK5
    • [Исправлено] Проблема с увеличением нагрузки на CPU и возникновением исключений при частом отправлении запросов удаленным серверам #I5SJJR
  • Другие изменения

    • [Изменено] Внесены изменения в статический класс JWTEncryption, позволяющие использовать JWT без регистрации служб #I5PPKE #I5POLZ
    • [Изменено] Изменено имя по умолчанию для логов событийной шины на System.Logging.EventBusService #I5QLY5
  • Документация - [Добавлено] Документация по переходу с .NET 6 на .NET 7

    • [Добавлено] Интеграция документации ASP.NET 7
    • [Обновлено] Документация по дружественным исключениям, логированию, удалённым запросам, внедрению зависимостей, мгновенной связи, событийной шине, Worker Service, юнит-тестированию, руководству пользователя, новым возможностям работы с базами данных
Последнее сообщение коммита: 😊 !591 发布 Furion v4.4.8 版本 #I5SKUE
03.03.2025 19:02
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине для управления выводом служебных логов #I5QLY5
    • [Добавлено] Возможность реализации любого множества нормализованных результатов, поддерживающая конкретные контроллеры и методы #I5QZ37
    • [Добавлено] Динамическое добавление расширений файла логов через ILoggerFactory #I5R9PO
    • [Добавлено] Статический метод App.GetCommandLineConfiguration(args) для анализа аргументов командной строки 803542c
    • [Добавлено] Поддержка возврата колич�数量的表达式应该是数字,不是文字描述。

[添加了] 支持通过代理 Sql 返回受影响的行数 #I5REJ9

将“数数量”改为“数量”。


其他部分已经正确翻译,无需进一步修改。

Последнее сообщение коммита: 😊 !589 发布 Furion v4.4.7 版本,改进日志性能和输出 #I5SEFE
03.03.2025 19:00
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине для управления выводом служебных логов #I5QLY5
    • [Добавлено] Возможность реализации любого множества нормализованных результатов, поддерживающая конкретные контроллеры и методы #I5QZ37
    • [Добавлено] Динамическое добавление расширений файла логов через ILoggerFactory #I5R9PO
    • [Добавлено] Статический метод App.GetCommandLineConfiguration(args) для анализа аргументов командной строки 803542c
    • [Добавлено] Поддержка возврата количества затронутых строк через прокси Sql #I5REJ9
    • [Добавлено] Поддержка произвольных пользовательских имен файлов логов с возможностью удаления старых логов #I5RFBQ
    • [Добавлено] Поддержка типа изображения .pcd, MIME которого image/x-photo-cd 5fafc84
  • Разрушительные изменения

    • [Поддерживается] .NET 6.0.9 и .NET 7.0 RC1 be5b40 1eee77b
    • [Изменено] Переименование метода .SetBodyBytes в .SetFiles #I5PMS5 #I5PIYI
    • [Изменено] Переименование FS.InitialContentTypeProvider() в FS.GetFileExtensionContentTypeProvider() 5fafc84
    • [Удалено] Удаление дизайна [BodyBytes] для удаленного запроса, заменено на использование HttpFile #I5PMS5 #I5PIYI
    • [Изменено] Изменение всех параметров AddInject и UseInject #I5QCF0
    • [Изменено] Изменение всех значений xxxAsStreamAsync для удаленных запросов #I5QVEB
  • Исправления ошибок

    • [Исправлено] Ошибка массива при использовании негенерических параметров в режиме прокси для удаленных запросов #I5Q3SN
    • [Исправлено] Ошибка записи IP клиента в LoggingMonitor #I5QCU1 !562
    • [Исправлено] Проблема с кодировкой при наличии параметра charset=gbk в ответах удаленных запросов #I5QVEB
    • [Исправлено] Проблема потери логов после отключения питания #I5REVF
    • [Исправлено] Проблема с потерей комментариев после применения метки [ApiDescriptionSettings(Tag = "")] к динамическим WebAPI или консольному приложению #I5REVF #I5RE4J
    • [Исправлено] Проблема с пустым исключением при активации базового логирования без конфигурации #I5REVF
    • [Исправлено] Проблема с невозможностью фильтрации логов по умолчанию для консольного приложения #I5REVF
    • [Исправлено] Проблема с конфигурацией логирования в скелете проекта #I5REVF
    • [Исправлено] Проблема с возникновением исключения System.AggregateException при одновременной записи логов и установке контекста логирования при высокой нагрузке #I5REVF
    • [Исправлено] Проблема с созданием лог-файлов из-за различий в разделителях путей между Windows и Linux #I5REVF
    • [Исправлено] Проблема с недействием метода .WithData для Oops.Oh/Bah !580
  • Другие изменения

    • [Изменено] Внесены изменения в статический класс JWTEncryption, позволяющие использовать его без регистрации сервиса services.AddJwt() #I5PPKE #I5POLZ
    • [Изменено] Изменено имя по умолчанию для логгера событийной шины на System.Logging.EventBusService #I5QLY5
  • Документация

    • [Добавлено] Документация по переходу с .NET 6 на .NET 7
    • [Добавлено] Интеграционная документация ASP.NET 7
    • [Обновлено] Документация по дружественным исключениям, логированию, удаленными запросам, внедрению зависимостей, мгновенному сообщению, событийной шине, Worker Service, юнит-тестированию и руководству по началу работы
Последнее сообщение коммита: 😊 !581 发布 Furion v4.4.6 版本
03.03.2025 18:57
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине для контроля за записью служебных логов #I5QLY5
    • [Добавлено] Возможность реализации любого множества нормализованных результатов, поддерживающая конкретные контроллеры и методы #I5QZ37
    • [Добавлено] Динамическое добавление расширений файла-лога через ILoggerFactory #I5R9PO
    • [Добавлено] Статический метод App.GetCommandLineConfiguration(args) для анализа аргументов командной строки 803542c
    • [Добавлено] Поддержка возврата количиства затронутых строк через прокси Sql #I5REJ9
    • [Добавлено] Поддержка произвольного имени файла лога с возможностью удаления старых логов #I5RFBQ
  • Разрушительные изменения

    • [Поддерживается] .NET 6.0.9 и .NET 7.0 RC1 be5b40 1eee77b
    • [Изменено] Удаление параметров .SetBodyBytes и замена его на .SetFiles #I5PMS5 #I5PIYI
    • [Удалено] Удаление дизайна [BodyBytes], замена на использование HttpFile #I5PMS5 #I5PIYI
    • [Изменено] Изменение всех параметров AddInject и UseInject #I5QCF0
    • [Изменено] Изменение всех значений xxxAsStreamAsync #I5QVEB
  • Исправления ошибок

    • [Исправлено] Ошибка массива при использовании негенерических параметров в режиме прокси-запросов #I5Q3SN
    • [Исправлено] Неправильная запись IP клиента в LoggingMonitor #I5QCU1 !562
    • [Исправлено] Проблема с кодировкой GBK при сериализации ответа запроса #I5QVEB
    • [Исправлено] Проблема потери логов после отключения питания #db7d51b
    • [Исправлено] Пропущенные метаданные после применения [ApiDescriptionSettings(Tag = "")] #I5REVF #I5RE4J
    • [Исправлено] Проблема с пустым исключением при активации базового логирования без конфигурации 33817be
    • [Исправлено] Проблема с фильтрацией логов консоли по умолчанию 33817be
    • [Исправлено] Проблема с конфигурацией логирования скелета 33817be
    • [Исправлено] Проблема с возникновением исключения System.AggregateException при записи логов в условиях высокой частоты запросов #I5RFBQ
    • [Исправлено] Проблема с созданием лог-файлов из-за различий в разделителях путей Windows и Linux #I5RFBQ
  • Другие изменения

    • [Изменено] Обеспечение использования JWTEncryption без регистрации сервиса services.AddJwt() #I5PPKE #I5POLZ
    • [Изменено] По умолчанию имя класса лога события равно System.Logging.EventBusService #I5QLY5
  • Документация

    • [Добавлено] Документация по переходу с .NET 6 на .NET 7
    • [Добавлено] Интеграционная документация ASP.NET 7
    • [Обновлено] Документация по дружественным исключениям, логированию, удаленными запросам, внедрению зависимостей, мгновенной связи, событийной шине, Worker Service, юнит-тестированию, руководству по началу работы
Последнее сообщение коммита: 😊 !578 发布 Furion v4.4.5 版本
03.03.2025 18:55
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине для управления выводом логов сервисов #I5QLY5
    • [Добавлено] Возможность реализации любого множества нормализованных результатов, поддерживающая конкретные контроллеры и методы #I5QZ37
  • Разрушительные изменения

    • [Поддерживается] .NET 6.0.9 и .NET 7.0 RC1 be5b40 1eee77b
    • [Изменено] Удаление метода .SetBodyBytes, замененного на .SetFiles #I5PMS5 #I5PIYI
      Yöntem .SetBodyBytes kaldırıldı ve yerine .SetFiles kullanılmaya başlandı #I5PMS5 #I5PIYI
    • [Удалено] Удаление дизайна [BodyBytes], замененного на использование HttpFile #I5PMS5 #I5PIYI
    • [Изменено] Изменение всех параметров методов AddInject и UseInject #I5QCF0
    • [Изменено] Изменение всех значений возвращаемых методами xxxAsStreamAsync #I5QVEB
  • Исправление ошибок

    • [Исправлено] Ошибка переполнения массива при использовании негeneric параметров в режиме прокси-запросов #I5Q3SN
    • [Исправлено] Ошибка записи IP клиента в журнале LoggingMonitor #I5QCU1 !562
    • [Исправлено] Проблема с кодировкой при наличии строки charset=gbk в ответах прокси-запросов после сериализации #I5QVEB
    • [Исправлено] Проблема потери логов при отключении питания во время записи в файловый журнал db7d51b
  • Другие изменения

    • [Изменено] Внесены изменения в статический класс JWTEncryption, позволяющие использовать его без регистрации services.AddJwt() #I5PPKE #I5POLZ
    • [Изменено] По умолчанию имя класса логгера в событийной шине установлено как System.Logging.EventBusService #I5QLY5
  • Документация

    • [Добавлено] Документация по переходу с .NET6 на .NET7
    • [Добавлено] Интеграционная документация для ASP.NET 7
    • [Обновлено] Документация по дружелюбным исключениям, прокси-запросам, внедрению зависимостей, мгновенной связи, событийной шине, службе Worker, юнит-тестированию и руководству по началу работы
Последнее сообщение коммита: 😁 !572 发布 v4.4.4 版本,适配 .NET 7 RC1.NET 6.0.9
03.03.2025 18:54
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов конфигурацией LogError: true #I5PKJH
    • [Добавлено] Конверторы сериализации DateOnlyJsonConverter и DateOnlyOffsetJsonConverter !565
    • [Добавлено] Настройка LogEnabled в событийной шине, позволяющая контролировать вывод сервисных логов #I5QLY5
  • Разрушительные изменения

    • [Изменено] Удаление метода .SetBodyBytes и замена его на .SetFiles #I5PMS5 #I5PIYI
    • [Удалено] Проект удалённого запроса [BodyBytes], теперь используется способ HttpFile #I5PMS5 #I5PIYI
Просмотреть изменения
public interface IHttp : IHttpDispatchProxy
{
    [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]
    Task<HttpResponseMessage> PostXXXAsync(HttpFile file);

    // Поддерживает несколько файлов
    [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]
    Task<HttpResponseMessage> PostXXXAsync(HttpFile[] files);

    // Поддерживает несколько файлов
    [Post("https://www.furion.icu/upload", ContentType = "multipart/form-data")]
    Task<HttpResponseMessage> PostXXXAsync(IList<HttpFile> files);
}
// bytes можно получить через File.ReadAllBytes(путь к файлу)
var res = await "https://www.furion.icu/upload".SetContentType("multipart/form-data")
                                               .SetFiles(HttpFile.Create("file", bytes, "image.png")).PostAsync();

// Поддерживает несколько файлов
var res = await "https://www.furion.icu/upload".SetContentType("multipart/form-data")
                                               .SetFiles(HttpFile.CreateMultiple("files", (bytes, "image1.png"), (bytes, "image2.png"))).PostAsync();
  • [Изменено] Все параметры дизайна AddInject и UseInject #I5QCF0
Просмотреть изменения
public void ConfigureServices(IServiceCollection services)
{
    services.AddInject(options =>
    {
        options.ConfigureSwaggerGen(gen =>
        {
            // ...
        });
    });
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseInject(configure: options =>
    {
        options.ConfigureSwagger(swg =>
        {
            // ...
        });

        options.ConfigureSwaggerUI(ui =>
        {
            // ...
        });
    });
}
  • [Изменено] Все значения возвращаемых значений xxxAsStreamAsync удаленного запроса #I5QVEB
Просмотреть изменения bcm

Было:

var stream = await "https://www.furion.icu/".GetAsStreamAsync();

Стало:

var (stream, encoding) = await "https://www.furion.icu/".GetAsStreamAsync();
  • Исправление проблем

    • [Исправлено] Проблема массива переполнения при использовании агента удаленного запроса без использования generics #I5Q3SN
    • [Исправлено] Ошибочная запись IP клиента в LoggingMonitor #I5QCU1 !562
    • [Исправлено] Проблема с отображением символов при наличии charset=gbk в ответах удаленного запроса после сериализации #I5QVEB
  • Другие изменения

    • [Изменено] Статический класс JWTEncryption, поддерживающий использование без необходимости регистрации services.AddJwt() #I5PPKE #I5POLZ
    • [Изменено] По умолчанию имя класса логирования в событийной шине установлено как System.Logging.EventBusService #I5QLY5
  • Документация

    • [Обновлено] Документация дружественных исключений, удаленных запросов, зависимостей внедрения, мгновенной связи, событийной шины, служб Worker, юнит тестирования и руководства по началу работы
Последнее сообщение коммита: 😊 !569 发布 Furion v4.4.3 版本 #I5QVEB ##I5QLY5 !565 !569
03.03.2025 18:52
GitLife Service Account

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибочных логов с помощью конфигурации LogError: true #I5PKJH
  • Критические изменения

    • [Изменено] Удалён метод .SetBodyBytes, заменён на .SetFiles #I5PMS5 #I5PIYI
    • [Удалено] Отказ от использования [BodyBytes] в пользу HttpFile #I5PMS5 #I5PIYI
  • Исправление ошибок

    • [Исправлено] Внешние запросы в режиме прокси с негенерическими параметрами вызывали переполнение массива #I5Q3SN
  • Другие изменения

    • [Изменено] JWTEncryption статический класс теперь поддерживает использование без регистрации services.AddJwt() #I5PPKE #I5POLZ
  • Документация

    • [Обновлено] Обновлена документация по дружественным исключениям, внешним запросам и внедрению зависимостей
03.03.2025 18:51
GitLife Service Account
  • Детали версии v4.4.0: https://gitee.com/dotnetchina/Furion/issues/I5PQHR

  • Новые возможности

    • [Добавлено] Добавлена возможность управления выводом ошибок в лог с помощью конфигурации LogError: true #I5PKJH
  • Разработки

    • [Изменено] Изменение метода отправки данных в запросах удаленно с .SetBodyBytes на .SetFiles #I5PMS5 #I5PIYI
    • [Удалено] Удалено использование [BodyBytes] в запросах удаленно, теперь используется способ HttpFile #I5PMS5 #I5PIYI
  • Прочие изменения

    • [Изменено] Класс JWTEncryption, теперь поддерживает работу без регистрации services.AddJwt() #I5PPKE #I5POLZ
  • Документация

    • [Обновлено] Обновление документации по дружественным исключениям и удаленными запросам
Последнее сообщение коммита: 😊 !556 发布 Furion v4.4.0 版本,改进远程请求文件上传
03.03.2025 18:49
GitLife Service Account
  • Новые возможности

    • [Добавлено] свойство ExcludeAssemblies конфигурации AppSettings, которое позволяет игнорировать указанные сборки при сканировании 7b7747f
    • [Добавлено] метод .WithData(data) для установки дополнительных данных в Oops.Oh и Oops.Bah #I5O38E
  • [Добавлено] метод Crontab.GetSleepMilliseconds(baseTime) для получения разницы времени до следующего события задачи d024fae

  • [Добавлено] по умолчанию печать логов ошибок для дружественных исключений, чтобы избежать потери важной информации об ошибках в рабочей среде 6e3a5bd

  • [Добавлено] статический метод CreateLoggerFactory() класса Log 75c672a

  • [Добавлено] режим мультиязычия SharedResource, который позволяет избежать жёсткого программирования 18e80c7

  • [Добавлено] статический класс MessageCenter для событийной шины, который решает проблему перехода с версий Fur v1.x a29fc7c

  • [Добавлено] модульная модель IWebComponent, поддерживающая .NET5+ 08a44c3

  • [Добавлено] возможность настройки своего HttpClient для удалённых запросов #I5PBR3 !545

  • [Добавлено] возможность добавления дополнительных пользовательских настроек в LoggingMonitor #I5PEPA

  • [Добавлено] возможность настройки WithReturnValue и ReturnValueThreshold в LoggingMonitor #I5PFJ1 #I5PFOW

  • [Добавлено] возможность настройки MethodsSettings в LoggingMonitor #I5PFJ1 #I5PFOW

Serve.Run(RunOptions.Default
     .AddWebComponent<XXXWebComponent>());

public class XXXWebComponent : IWebComponent
{
    public void Load(WebApplicationBuilder builder, ComponentContext componentContext)
    {
        // ....
    }
}
  • Разрушительные изменения

    • [Добавлено] публичный ключ PublicKeyToken для сборки Furion с цифровой подписью 26b12c0
    • [Изменено] методы IEventBusFactory событийной шины: AddSubscriber -> Subscribe, RemoveSubscriber -> Unsubscribe a29fc7c
    • [Изменено] названия конфигурационных опций .AddInject() и .UseInject(), убран суффикс Configure b6953cd
    • [Изменено] подпись делегата для запросного, ответного и исключения отслеживания удалённых запросов, добавлена параметра HttpClient #I5OWBO
[Interceptor(InterceptorTypes.Request)]
static void OnRequest(HttpClient client, HttpRequestMessage req)
{
}

[Interceptor(InterceptorTypes.Response)]
static void OnResponse(HttpClient client, HttpResponseMessage res)
{
}

[Interceptor(InterceptorTypes.Exception)]
static void OnException(HttpClient client, HttpResponseMessage res, string errors)
{
}
  • Устранение ошибок

    • [Исправлено] проблема с расшифровкой JWT-токена, содержащего кириллицу, которая приводила к появлению некорректных символов #I5O397
    • [Исправлено] исключение NullReferenceException при добавлении параметров запроса в расширении HttpRequestMessage #I5PENW !547
    • [Исправлено] проблема с тем, что только один из нескольких настроенных IDatabaseLoggingWriter работает #I5PFQ2 #I5PFJ1
  • Другие изменения

    • [Изменено] шаблон вывода логов файла по умолчанию, сделав его более эстетически приятным #1518cf3
    • [Изменено] нормализация результата проверки по умолчанию теперь также поддерживает настройку HTTP-статуса 2eb9390
    • [Обновлено] расширение SqlSugarCore и шаблоны проекта до версии 5.1.2.6 #I5PCXK
    • [Обновлено] JSON-схема для дополнительных настроек LoggingMonitor #I5PFJ1
  • Документация

    • [Добавлено] документация по использованию RabbitMQ как событийной шины
    • [Обновлено] документация по конфигурации AppSettings, событийной шине, многим базам данных, логам, задачам планировщика, MessageCenter, удалённым запросам, модульной архитектуре, руководству пользователя, многоязычному интерфейсу.
03.03.2025 18:46
GitLife Service Account
  • Новые возможности

    • [Добавлено] свойство ExcludeAssemblies конфигурации AppSettings, поддерживающее игнорирование сканирования указанных сборок 7b7747f
    • [Добавлено] метод .WithData(data) для установки дополнительных данных в Oops.Oh и Oops.Bah #I5O38E
    • [Добавлено] метод Crontab.GetSleepMilliseconds(baseTime) для получения временного промежутка до следующего события задачи d024fae
    • [Добавлено] по умолчанию печать логов ошибок для дружественных исключений, чтобы избежать потери важной информации об ошибках в рабочей среде 6e3a5bd
    • [Добавлено] статический метод CreateLoggerFactory() класса Log 75c672a
    • [Добавлено] статический класс MessageCenter для событийной шины, решение проблем при переходе с версий Fur v1.x a29fc7c
  • Разрушительные изменения

    • [Добавлено] публичный ключ (PublicKeyToken) с подписью для сборки Furion 26b12c0
    • [Изменено] методы AddSubscriber -> Subscribe и RemoveSubscriber -> Unsubscribe в интерфейсе IEventBusFactory событийной шины a29fc7c
  • Устранение проблем

    • [Исправлено] проблема декодирования JWT-токена с кириллицей после генерации #I5O397
  • Другие изменения

    • [Изменено] шаблон вывода файла логов по умолчанию для большей эстетики #1518cf3
  • Документация

    • [Обновлено] документация конфигураций AppSettings, событийной шины, множества баз данных, логов, задач расписания и MessageCenter
Последнее сообщение коммита: 😁 发布 v4.3.3 版本,新增 MessageCenter 静态类
03.03.2025 18:45
GitLife Service Account
  • Новые возможности

    • [Добавлено] свойство ExcludeAssemblies конфигурации AppSettings, которое позволяет игнорировать указанные сборки при сканировании 7b7747f
    • [Добавлено] поддержка установки дополнительных данных методами .WithData(data) для Oops.Oh и Oops.Bah #I5O38E
  • Разрушительные изменения

    • [Добавлено] сильная цифровая подпись (PublicKeyToken) для сборки Furion 26b12c0
  • Исправление ошибок

    • [Исправлено] проблема с расшифровкой JWT-токена, содержащего кириллические символы (китайский) #I5O397
  • Другие изменения

    • [Изменено] шаблон вывода логов в файл по умолчанию для большей эстетичности #1518cf3
  • Документация

    • [Обновлено] документация по конфигурации AppSettings, событийному паттерну, многим базам данных, логам
Последнее сообщение коммита: 😁 完善生成控制台 LOGO 说明
03.03.2025 18:43
GitLife Service Account
  • Новые возможности

    • [Добавлено] Глобальный статический класс Log, который позволяет удобно записывать логи в любое время и любом месте ba9b1f1
    • [Добавлено] Переопределение метода события options.AddSubscriber(Type) 42446078
    • [Добавлено] Атрибуты свойств FirstErrorProperty и FirstErrorMessage типа ValidationMetadata #I5MFJT
    • [Добавлено] Метод WithArgs(args) режима Run() сервиса Serve #I5MOJB
    • [Добавлено] Поддержка распределенной транзакции TransactionScope атрибутом [UnitOfWork] #I5MRTY
    • [Добавлено] Поддержка шифрования MD5 с использованием 16 байт #I5N8RC
  • Разработки

    • [Изменено] Название асинхронного метода создания области контекста, чтобы избежать путаницы при некоторых условиях, синхронный метод остается без изменений #I5N9XY

С:

// Аналогично Scoped.CreateUow
await Scoped.Create(async (f, s) => {});

На:

// Аналогично Scoped.CreateUowAsync
await Scoped.CreateAsync(async (f, s) => {});
  • [Поддерживается] .NET 6.0.8 и .NET 7 Preview 7 842d4f7
  • [Изменено] Пространство имён [LoggingMonitor] переименовано в System, так как его использование становится всё более частым b879861
  • [Добавлено] Механизм проверки неправильного использования методов расширения строк вне среды Web 6389cbd
  • [Изменено] Все статические свойства .Default преобразованы в методы .Default() 6389cbd
  • [Изменено] Параметры всех методов интерфейса IUnitOfWork были изменены с типов ActionExecutingContext и ActionExecutedContext на FilterContext #I5MHX5
public interface IUnitOfWork
{
    void BeginTransaction(FilterContext context, UnitOfWorkAttribute unitOfWork);

    void CommitTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);

    void RollbackTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);

    void OnCompleted(FilterContext context, FilterContext resultContext);
}
  • Устранение ошибок

    • [Исправлено] Ошибка повторного очистки данных журнала после множественного записи #I5LIWF
    • [Исправлено] Ошибка кэширования ответов при использовании CORS #I5LJWV
    • [Исправлено] Ошибка проверки невалидных заголовков запроса #I5LPFE
    • [Исправлено] Ошибка исчерпания пула соединений при многопоточной записи в базу данных #I5LMQH
    • [Исправлено] Ошибка изменения поведения IModelCacheKeyFactory в EF Core 6.0, что привело к проблемам с разделением таблиц и баз данных #I5MCZ6 EFCore#25154 EFCore!3305
    • [Исправлено] Ошибка отображения пустых сообщений в объектах ValidationMetadata #I5MFJT
    • [Исправлено] Ошибка перезаписи сообщений об ошибках Oops.Oh/Bah атрибутом [IfException] 4bbd854
    • [Исправлено] Ошибка циклического заполнения журнала и частого создания пула соединений с базой данных 9ce214c
    • [Исправлено] Ошибка отсутствия глобального перехвата исключений в Razor Pages #I5MHX5
    • [Исправлено] Ошибка отсутствия глобальной валидации данных в Razor Pages #I5MHX5
    • [Исправлено] Ошибка отсутствия работы с транзакциями [UnitOfWork] в Razor Pages #I5MHX5
    • [Исправлено] Ошибка отсутствия автоматического сохранения изменений EF Core в Razor Pages #I5MHX5
    • [Исправлено] Ошибки Blazor Server версии v4.2.2 #I5MNFN
    • [Исправлено] Ошибка отсутствия поддержки многоязычной конфигурации атрибутом [IfException] #I5MPN7
    • [Исправлено] Ошибка регистрации атрибута LoggingMonitorAttribute через services.AddMvcFilter<LoggingMonitorAttribute>() 8d1477d
    • [Исправлено] Ошибка инициализации канала событий слишком поздно, что вызывало проблемы с некоторыми сторонними зависимостями #I5MM3O
    • [Исправлено] Ошибка записи логов при завершении хоста #I5N7S2
    • [Исправлено] Ошибка освобождения ресурсов при ручном освобождении контекста базы данных #I5NFWC
  • Другие изменения

    • [Изменено] Время инициализации канала событий, что решает некоторые проблемы с сторонними зависимостями #I5MM3O
    • [Оптимизация] Улучшение производительности за счет оптимизации внутренних процессов
    • [Общедоступность] Обновление документации контроллеров, групп методов и метаданных
  • Документация

    • [Добавлено] Документация глобального статического класса Log ba9b1f1
    • [Добавлено] Документация NuGet тестовых пакетов
    • [Обновлено] Документация журналов, статических классов, валидации данных, Worker Services, единицы работы и внедрения зависимостей
Последнее сообщение коммита: 😊 发布 v4.2.9 版本,公开规范化获取分组、标签信息
03.03.2025 18:39
GitLife Service Account
  • Новые возможности

    • [Добавлено] Глобальный статический класс Log, позволяющий удобно записывать логи в любом месте ba9b1f1
    • [Добавлено] Переопределение метода options.AddSubscriber(Type) для событийной шины EventBus 42446078
    • [Добавлено] Атрибуты FirstErrorProperty и FirstErrorMessage типа ValidationMetadata #I5MFJT
  • Разработки

    • [Поддержка] .NET 6.0.8 и .NET 7 Preview 7 842d4f7
    • [Изменено] Пространство имён [LoggingMonitor] переименовано в System, так как его использование стало всё более частым b879861
    • [Добавлено] Механизм проверки неправильного использования расширений строковых методов вне среды Web 6389cbd
    • [Изменено] Все статические свойства .Default преобразованы в методы .Default() 6389cbd
    • [Изменено] Параметры всех методов интерфейса IUnitOfWork были изменены с типов ActionExecutingContext и ActionExecutedContext на FilterContext #I5MHX5
public interface IUnitOfWork
{
    void BeginTransaction(FilterContext context, UnitOfWorkAttribute unitOfWork);

    void CommitTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);

    void RollbackTransaction(FilterContext resultContext, UnitOfWorkAttribute unitOfWork);

    void OnCompleted(FilterContext context, FilterContext resultContext);
}
  • Устранение ошибок

    • [Исправлено] Очистка данных контекста логирования при повторном записи и прекращение записи логов в базе данных после возникновения ошибки #I5LIWF
    • [Исправлено] Проблема с кэшированием ответов при использовании CORS по умолчанию, что приводит к аномалиям в встроенных ресурсах 7a57efe
    • [Исправлено] Проблема с некорректными данными заголовков запроса, вызывающая провал валидации 7a57efe
    • [Исправлено] Проблема с исчерпанием пула соединений при одновременной записи логов в базу данных через статический класс Log 8d5cdd6
    • [Исправлено] Проблема с изменением метода IModelCacheKeyFactory в EFCore 6.0, что приводит к ошибкам при работе с партиционированием таблиц и баз данных #I5MCZ6 EFCore#25154 EFCore!3305
    • [Исправлено] Проблема с отображением пустой строки вместо сообщения в объекте ValidationMetadata #I5MFJT
    • [Исправлено] Проблема с заменой сообщения об ошибке Oops.Oh/Bah при использовании атрибута [IfException] 4bbd854
    • [Исправлено] Проблема с циклическими записями логов в базу данных и частыми созданием новых соединений 9ce214c
    • [Исправлено] Проблема с невозможностью глобального перехвата исключений в Razor Pages #I5MHX5
    • [Исправлено] Проблема с невозможностью глобальной валидации данных в Razor Pages #I5MHX5
    • [Исправлено] Проблема с невозможностью использования работы с единицами труда [UnitOfWork] в Razor Pages #I5MHX5
    • [Исправлено] Проблема с невозможностью автоматического сохранения изменений в EFCore в Razor Pages #I5MHX5
  • Другие изменения

    • [Оптимизация] Улучшение производительности за счет оптимизации внутренних процессов
  • Документация

    • [Добавлено] Документация по глобальному статическому классу Log ba9b1f1
    • [Обновлено] Обновление документации по логированию, статическим классам, валидации данных, Worker Services и работам с единицами труда
Последнее сообщение коммита: 😁 通过 Jenkins 发布 v4.2.2 文档
03.03.2025 18:37
GitLife Service Account
  • Разрушительные изменения

    • [Поддержка] .NET 6.0.8 и .NET 7 Preview 7 842d4f7
    • [Изменение] [LoggingMonitor] пространство имён переименовано в System, так как его использование становится всё более частым b879861
  • Устранение ошибок

    • [Фиксация] Проблема с очисткой данных контекста журнала при множественной записи и прекращении записи после возникновения аномалий в базе данных журналов #I5LIWF
    • [Фиксация] Проблема с некорректной кэшированием ответов при использовании расширяемых ресурсов из-за использования стандартных конфигураций CORS 7a57efe
    • [Фиксация] Проблема с незаконными данными заголовков запроса, вызывающими провал проверки при удалённых запросах #I5LPFE
    • [Фиксация] Проблема с исчерпанием пула соединений при записи логов в базу данных из статических методов в многопоточной среде 8d5cdd6
  • Документация

    • [Обновление] Документация по журналам, статическим классам, валидации данных, Worker Service
Последнее сообщение коммита: 😊 发布 v4.2.0 版本,底层迭代改进,为大版本做准备
03.03.2025 18:35
GitLife Service Account
  • Новые возможности

    • [Добавлено] Расширение пакета Furion.Xunit, которое полностью реализует поддержку единичных тестов XUnit для Furion 063a034e
    • [Добавлено] Сервис логгирования services.AddMonitorLogging(), который обеспечивает очень гибкую работу с логами 81df742
    • [Добавлено] Serve.Run(silence: true) и ряд других мощных функций тихого запуска #I5JBSQ #I5J98T 7cced4
    • [Добавлено] Метод SpecificationDocumentBuilder.GetOpenApiGroups() для получения информации о группах нормализованных интерфейсов 4ff03c5
    • [Добавлено] Функционал конфигурирования контекста логгирования logger.ScopeContext() #I5JC0D
    • [Добавлено] Опция конфигурирования CORS для SignalR CorsAccessorSettings.SignalRSupport #I5JREM
  • Разрушительные изменения

    • [Добавлено] Расширение пакета Furion.Xunit, которое полностью реализует поддержку единичных тестов XUnit для Furion 063a034e
    • [Удалено] Характеристика работы с базой данных [SqlSugarUnitOfWork] в расширении Furion.Extras.DatabaseAccessor.SqlSugar. Будет использоваться универсальная характеристика работы с базой данных, см. новое руководство
    • [Изменено] Аргумент метода ConfigureConfiguration в Serve.Run был изменён с configuration => {} на (environment, configuration) => {} 83c97bb
    • [Удалено] Метод Inject.Create(), теперь этот метод больше не требуется, так как фреймворк предоставляет мощный способ тихого запуска Serve.Run() 200848e
  • Исправления ошибок

    • [Исправлено] Ошибка уровня логгирования Information для сообщений об ошибках [LoggingMonitor] ab46cdf
    • [Исправлено] Частые уведомления о занятости файла в новых версиях компонента логгирования, замена эксклюзивной блокировки на совместную #I5J3S6
    • [Исправлено] Проблема бесконечного вывода в консоли при использовании EFCore для чтения и записи логов базы данных #I5J474
    • [Исправлено] Проблема с большим размером вывода для типа данных byte[] в [LoggingMonitor] 5380f35
    • [Исправлено] Утрата первоначального кода ошибки при нормализации результатов и дружественных исключений #I5IX2R
    • [Исправлено] Проблема циклического вызова при внедрении пользовательского хранилища IRepository в новый компонент логгирования #I5IX2R
    • [Исправлено] Конфликт между стандартной проверкой MVC и глобальной проверкой Furion 2a06c39
    • [Исправлено] Проблема с неподдержкой SuperSocket в режиме Serve.Run() 186ca0a
    • [Исправлено] Проблема с CORS для SignalR #I5JREM
  • Другие изменения

    • [Открыт доступ] Нижележащие нормализованные документы SpecificationDocumentBuilder, предоставляющие более удобную интеграцию с третьими сторонами Swagger UI 10f0f01
Последнее сообщение коммита: 😁 发布 v4.1.4 版本,修复 SignalR 跨域问题 #I5JREM
03.03.2025 18:33
GitLife Service Account

Не забывать истинной цели, благодарить за встречу, благодарить за доверие

1 сентября 2020 года родился открытый проект под названием Fur. Его рождение казалось нести какую-то миссию, свободный от бремени, с бесконечными возможностями.

Она медленно открыла глаза, чистые и сверкающие глаза полны любопытства к этому миру; каждый столкновение мыслей она считает бесценным богатством. Она кажется, что энергия её неиссякаема, она продолжает учиться, развиваться и побеждать препятствия, радуясь каждому шагу вперед.

Помните, 11 ноября 2020 года, в День одиночества, ей исполнился год, после чего её фигура стала часто появляться на большом экране IT-индустрии. Чем больше .NET5-разработчиков становилось её поклонниками, тем более известной она становилась, словно говорила миру, что она — звезда IT.

Каждой знаменитости нужен красивый псевдоним, и ей это тоже было необходимо. 20 ноября 2020 года её агент Бай Цао Сен дал ей имя Furion.

9 ноября 2021 года она вошла в период взросления, оставив своих поклонников .NET5 и обняв новых поклонников .NET6, начав жить в роскоши и достатке.

Но она была несчастлива, часто ночью вспоминая своих поклонников .NET5, чувствуя себя виноватой. Но под двойным давлением работы она всё равно предпочла игнорировать их просьбы, будто они были обузой.

Время действительно является хорошим учителем. То, что когда-то казалось правильным, со временем стало понятным: не забывайте свою цель, чтобы всегда оставаться верными себе.

На этот раз, ни одного человека не будет забыто (.NET5, .NET6, ..., .NET N), вместе двигаемся вперёд, снова начинаем путь, благодарим за встречу, благодарим за доверие.


  • Новые возможности

    • Поддержка v4.0.0 для .NET5, .NET6, ..., .NET N, все проекты Furion могут быть обновлены до этой версии, начать новый путь, достичь единства.
Последнее сообщение коммита: 💖 v4.0.0 发布,不忘初心,感恩遇见,感恩信任,重新起航
1
https://api.gitlife.ru/oschina-mirror/dotnetchina-Furion.git
git@api.gitlife.ru:oschina-mirror/dotnetchina-Furion.git
oschina-mirror
dotnetchina-Furion
dotnetchina-Furion