v4.5.2
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5TXON 2022.09.30
v4.5.1
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5TLI6 2022.09.28
v4.5.0
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5TD4X 2022.09.27
Новые возможности
.AddConsoleFormatter()
расширяет простоту конфигурации шаблонов логов в консоли 4.5.0 #I5TCMO
options.DateFormat
в логах консоли и файла 4.5.1 #I5TKL5
options.WriteHandler
в конфигурации форматирования логов консоли 4.5.2 7fb3036
LogDateTime
, ThreadId
, State
в структуре класса LogMessage
4.5.2 #I5TWC1
Разрушительные изменения
LoggingMonitor
, удалена прежняя концепция хранения информации мониторинга через .ScopeContext
4.5.2 #I5TWC1
Устранение ошибок
.ScopeContext
в логах консоли 4.5.2 7fb3036
v4.4.8+
4.5.2 #I5TWL3
Другие изменения
[Изменено] По умолчанию активирован services.AddConsoleFormatter()
в шаблоне проекта 4.5.1 #I5TLI6
[Изменено] По умолчанию активирован services.AddConsoleFormatter()
в методе Serve.Run()
4.5.1 #I5TLI6
Документация
v4.5.1
: детали версии: https://gitee.com/dotnetchina/Furion/issues/I5TLI6 28.09.2022
v4.5.0
: детали версии: https://gitee.com/dotnetchina/Furion/issues/I5TD4X 27.09.2022
НОВЫЕ ФУНКЦИОНАЛЬНЫЕ ОБЛАСТИ
.AddConsoleFormatter()
для упрощенного конфигурирования шаблонов логов в консоли #I5TCMO
options.DateFormat
для логов в консоли и файлах #I5TKL5
РЕШЕННЫЕ ПРОБЛЕМЫ
CategoryName
при использовании метода расширения со строками и генериками #I5TBKL
ДРУГИЕ ИЗМЕНЕНИЯ
services.AddConsoleFormatter()
в шаблонах кода #I5TLI6
services.AddConsoleFormatter()
в коде запуска сервера Serve.Run()
#I5TLI6
ДОКУМЕНТАЦИЯ
v4.5.0
: детали версии: https://github.com/dotnetchina/Furion/issues/I5TD4X
НОВЫЕ ФУНКЦИОНАЛЬНОСТИ
.AddConsoleFormatter()
расширяет простоту конфигурации шаблонов для логов в консоли #I5TCMO
РЕШЕННЫЕ ПРОБЛЕМЫ
CategoryName
#I5TBKL
ДОКУМЕНТАЦИЯ
v4.4.9
: https://gitee.com/dotnetchina/Furion/issues/I5SP37
v4.4.8
: https://gitee.com/dotnetchina/Furion/issues/I5SKUE
v4.4.7
: https://gitee.com/dotnetchina/Furion/issues/I5SEFE
v4.4.6
: https://gitee.com/dotnetchina/Furion/issues/I5RSFD
v4.4.5
: https://gitee.com/dotnetchina/Furion/issues/I5RHQX
v4.4.4
: https://gitee.com/dotnetchina/Furion/issues/I5R5TI
v4.4.3
: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине для контроля за выводом логов сервисов #I5QLY5
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
Исправления ошибок
LoggingMonitor
#I5QCU1 !562
charset=gbk
в ответе удаленного запроса #I5QVEB
[ApiDescriptionSettings(Tag = "")]
к динамическим WebAPI или консольному приложению #I5REVF #I5RE4J
System.AggregateException
при высокой частоте записи логов и установке контекста логирования #I5RFBQ
.WithData
для объекта Oops.Oh/Bah
!580
IEventSource
при использовании Redis для события-хранителя 3e45020
Log
#I5SDK5
Другие изменения - [Изменено] Поддержка использования JWTEncryption
без регистрации services.AddJwt()
#I5PPKE #I5POLZ
System.Logging.EventBusService
#I5QLY5
Документация
v4.4.8
: https://gitee.com/dotnetchina/Furion/issues/I5SKUE
v4.4.7
: https://gitee.com/dotnetchina/Furion/issues/I5SEFE
v4.4.6
: https://gitee.com/dotnetchina/Furion/issues/I5RSFD
v4.4.5
: https://gitee.com/dotnetchina/Furion/issues/I5RHQX
v4.4.4
: https://gitee.com/dotnetchina/Furion/issues/I5R5TI
v4.4.3
: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине для управления выводом логов сервиса #I5QLY5
ILoggerFactory
#I5R9PO
App.GetCommandLineConfiguration(args)
803542c
.pcd
как image/x-photo-cd
5fafc84
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
Исправления ошибок
LoggingMonitor
#I5QCU1 !562
charset=gbk
в ответах удаленного запроса #I5QVEB
[ApiDescriptionSettings(Tag = "")]
к динамическим WebAPI или консольному приложению #I5REVF #I5RE4J
System.AggregateException
при высокой частоте записи логов и установке контекста логирования #I5RFBQ
.WithData
после применения к объекту Oops.Oh/Bah
!580
IEventSource
при использовании Redis для хранения событий 3e45020
Log
для записи логов #I5SDK5
Другие изменения
Документация - [Добавлено] Документация по переходу с .NET 6 на .NET 7
v4.4.7
: https://gitee.com/dotnetchina/Furion/issues/I5SEFE
v4.4.6
: https://gitee.com/dotnetchina/Furion/issues/I5RSFD
v4.4.5
: https://gitee.com/dotnetchina/Furion/issues/I5RHQX
v4.4.4
: https://gitee.com/dotnetchina/Furion/issues/I5R5TI
v4.4.3
: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине для управления выводом служебных логов #I5QLY5
ILoggerFactory
#I5R9PO
App.GetCommandLineConfiguration(args)
для анализа аргументов командной строки 803542c
[添加了] 支持通过代理 Sql
返回受影响的行数 #I5REJ9
将“数数量”改为“数量”。
其他部分已经正确翻译,无需进一步修改。
v4.4.6
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5RSFD
v4.4.5
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5RHQX
v4.4.4
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5R5TI
v4.4.3
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине для управления выводом служебных логов #I5QLY5
ILoggerFactory
#I5R9PO
App.GetCommandLineConfiguration(args)
для анализа аргументов командной строки 803542c
Sql
#I5REJ9
.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
Исправления ошибок
LoggingMonitor
#I5QCU1 !562
charset=gbk
в ответах удаленных запросов #I5QVEB
[ApiDescriptionSettings(Tag = "")]
к динамическим WebAPI или консольному приложению #I5REVF #I5RE4J
System.AggregateException
при одновременной записи логов и установке контекста логирования при высокой нагрузке #I5REVF
.WithData
для Oops.Oh/Bah
!580
Другие изменения
Документация
v4.4.5
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5RHQX
v4.4.4
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5R5TI
v4.4.3
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине для контроля за записью служебных логов #I5QLY5
ILoggerFactory
#I5R9PO
App.GetCommandLineConfiguration(args)
для анализа аргументов командной строки 803542c
Sql
#I5REJ9
Разрушительные изменения
.NET 6.0.9
и .NET 7.0 RC1
be5b40 1eee77b
.SetBodyBytes
и замена его на .SetFiles
#I5PMS5 #I5PIYI
[BodyBytes]
, замена на использование HttpFile
#I5PMS5 #I5PIYI
AddInject
и UseInject
#I5QCF0
xxxAsStreamAsync
#I5QVEB
Исправления ошибок
LoggingMonitor
#I5QCU1 !562
[ApiDescriptionSettings(Tag = "")]
#I5REVF #I5RE4J
System.AggregateException
при записи логов в условиях высокой частоты запросов #I5RFBQ
Другие изменения
Документация
v4.4.4
: https://gitee.com/dotnetchina/Furion/issues/I5R5TI
v4.4.3
: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине для управления выводом логов сервисов #I5QLY5
Разрушительные изменения
.NET 6.0.9
и .NET 7.0 RC1
be5b40 1eee77b
.SetBodyBytes
, замененного на .SetFiles
#I5PMS5 #I5PIYI.SetBodyBytes
kaldırıldı ve yerine .SetFiles
kullanılmaya başlandı #I5PMS5 #I5PIYI
[BodyBytes]
, замененного на использование HttpFile
#I5PMS5 #I5PIYI
AddInject
и UseInject
#I5QCF0
xxxAsStreamAsync
#I5QVEB
Исправление ошибок
LoggingMonitor
#I5QCU1 !562
charset=gbk
в ответах прокси-запросов после сериализации #I5QVEB
Другие изменения
Документация
.NET6
на .NET7
ASP.NET 7
v4.4.3
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5QVH3
v4.4.2
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5QDHX
v4.4.1
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
DateOnlyJsonConverter
и DateOnlyOffsetJsonConverter
!565
LogEnabled
в событийной шине, позволяющая контролировать вывод сервисных логов #I5QLY5
Разрушительные изменения
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
Было:
var stream = await "https://www.furion.icu/".GetAsStreamAsync();
Стало:
var (stream, encoding) = await "https://www.furion.icu/".GetAsStreamAsync();
Исправление проблем
LoggingMonitor
#I5QCU1 !562
charset=gbk
в ответах удаленного запроса после сериализации #I5QVEB
Другие изменения
Документация
v4.4.1
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5Q3SX
v4.4.0
версия подробностей: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
Критические изменения
Исправление ошибок
Другие изменения
Документация
Детали версии v4.4.0: https://gitee.com/dotnetchina/Furion/issues/I5PQHR
Новые возможности
LogError: true
#I5PKJH
Разработки
Прочие изменения
Документация
Новые возможности
[Добавлено] метод 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)
{
}
Устранение ошибок
HttpRequestMessage
#I5PENW !547
IDatabaseLoggingWriter
работает #I5PFQ2 #I5PFJ1
Другие изменения
SqlSugarCore
и шаблоны проекта до версии 5.1.2.6
#I5PCXK
LoggingMonitor
#I5PFJ1
Документация
AppSettings
, событийной шине, многим базам данных, логам, задачам планировщика, MessageCenter, удалённым запросам, модульной архитектуре, руководству пользователя, многоязычному интерфейсу.Новые возможности
ExcludeAssemblies
конфигурации AppSettings
, поддерживающее игнорирование сканирования указанных сборок 7b7747f
.WithData(data)
для установки дополнительных данных в Oops.Oh
и Oops.Bah
#I5O38E
Crontab.GetSleepMilliseconds(baseTime)
для получения временного промежутка до следующего события задачи d024fae
CreateLoggerFactory()
класса Log
75c672a
MessageCenter
для событийной шины, решение проблем при переходе с версий Fur v1.x
a29fc7c
Разрушительные изменения
Устранение проблем
Другие изменения
Документация
AppSettings
, событийной шины, множества баз данных, логов, задач расписания и MessageCenter
Новые возможности
Разрушительные изменения
PublicKeyToken
) для сборки Furion
26b12c0
Исправление ошибок
китайский
) #I5O397
Другие изменения
Документация
AppSettings
, событийному паттерну, многим базам данных, логамНовые возможности
Log
, который позволяет удобно записывать логи в любое время и любом месте ba9b1f1
options.AddSubscriber(Type)
42446078
FirstErrorProperty
и FirstErrorMessage
типа ValidationMetadata
#I5MFJT
WithArgs(args)
режима Run()
сервиса Serve
#I5MOJB
TransactionScope
атрибутом [UnitOfWork]
#I5MRTY
Разработки
С:
// Аналогично Scoped.CreateUow
await Scoped.Create(async (f, s) => {});
На:
// Аналогично Scoped.CreateUowAsync
await Scoped.CreateAsync(async (f, s) => {});
[LoggingMonitor]
переименовано в System
, так как его использование становится всё более частым b879861
.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);
}
Устранение ошибок
IModelCacheKeyFactory
в EF Core 6.0, что привело к проблемам с разделением таблиц и баз данных #I5MCZ6 EFCore#25154 EFCore!3305
ValidationMetadata
#I5MFJT
Oops.Oh/Bah
атрибутом [IfException]
4bbd854
[UnitOfWork]
в Razor Pages #I5MHX5
[IfException]
#I5MPN7
LoggingMonitorAttribute
через services.AddMvcFilter<LoggingMonitorAttribute>()
8d1477d
Другие изменения
Документация
Log
ba9b1f1
Новые возможности
Разработки
[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);
}
Устранение ошибок
Log
8d5cdd6
IModelCacheKeyFactory
в EFCore 6.0, что приводит к ошибкам при работе с партиционированием таблиц и баз данных #I5MCZ6 EFCore#25154 EFCore!3305
ValidationMetadata
#I5MFJT
Oops.Oh/Bah
при использовании атрибута [IfException]
4bbd854
[UnitOfWork]
в Razor Pages #I5MHX5
Другие изменения
Документация
Log
ba9b1f1
Разрушительные изменения
Устранение ошибок
Документация
Новые возможности
Furion.Xunit
, которое полностью реализует поддержку единичных тестов XUnit
для Furion
063a034e
services.AddMonitorLogging()
, который обеспечивает очень гибкую работу с логами 81df742
Serve.Run(silence: true)
и ряд других мощных функций тихого запуска #I5JBSQ #I5J98T 7cced4
SpecificationDocumentBuilder.GetOpenApiGroups()
для получения информации о группах нормализованных интерфейсов 4ff03c5
logger.ScopeContext()
#I5JC0D
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
byte[]
в [LoggingMonitor]
5380f35
IRepository
в новый компонент логгирования #I5IX2R
Serve.Run()
186ca0a
Другие изменения
SpecificationDocumentBuilder
, предоставляющие более удобную интеграцию с третьими сторонами Swagger UI 10f0f01
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
могут быть обновлены до этой версии, начать новый путь, достичь единства.