Haga que el desarrollo de .NET sea más fácil, más versátil y más popular.
Paquete de aplicación oficial
Andamio oficial
Actualizar este problema
- Nuevas características
- [Nuevo] Andamio de plantilla Mvc: `Fur.Template.Mvc`
- [Nuevo] Plantilla WebApi: `Fur.Template.Api`
- [Nuevo] Plantilla Mvc / WebApi: `Fur.Template.App`
- [Nuevo] Plantilla de páginas de Razar: `Fur.Template.Razor`
- [Nuevo] Plantilla Blazor: `Fur.Template.Blazor`
- [Nuevo] `Db.GetDbContext ()` Obtiene el método de contexto de base de datos predeterminado
- [Nuevo] `HttpContextUtility.GetCurrentHttpContext ()` para obtener el contexto global `HttpContext`
- [Nuevo] `App.GetRequiredService <>` Método de servicio de análisis
- [Nuevo] método de extensión de objeto `object.GetService <>`
- [Nuevo] Método de clase base de autorización de política `PolicyPipeline`, admite autorización de juicio múltiple
- [Nuevo] Método estático de verificación manual `JWTEncryption.ValidateJwtBearerToken`
- [Nuevo] `.AddDateTimeJsonConverter (formato)` configuración de serialización del formato de hora
- [Nuevo] Configuración global de contexto de base de datos global `InsertOrUpdateIgnoreNullValues` y` EnabledEntityStateTracked`
- [Nuevo] `Pomelo.EntityFrameworkCore.MySql` última configuración del paquete .NET 5 [# I24ZQK]
- [Nuevo] Configuración del formato de serialización del tipo `DateTime` y` DateTimeOffset` [# I253FI]
- [Nuevo] Parámetros de autorización global de "autorización Swagger Jwt" [# I26GLR]
- [Nuevo] `InsertOrUpdate` admite la función de condición de juicio personalizado [# I269Q1]
- [Nuevo] Compatibilidad con nombres en minúsculas para campos de cadenas [# I2695D]
- [Nuevo] Función de comparación de texto de cadena [# I268LE]
- [Nuevo] Función de mensaje de función de excepción global [# I2662O]
- [Nuevo] La base de datos `Insert` o` Update` ignora la función de valor nulo [# I264Q4]
- Cambios revolucionarios
- [Actualización] Paquete `Mapster` a la versión` 7.0.0`
- [Ajuste] El nombre del proyecto `Fur` es` Furion`
- [Ajuste] `Db.GetRequestDbContext <> ()` se denomina `Db.GetDbContext <> ()`
- [Ajuste] `Db.GetDbContext <> ()` se llama `Db.GetDuplicateDbContext <> ()`
- [Ajuste] `PagedList` al espacio de nombres` System.Collections.Generic`
- [Ajuste] `App.Services` se llama` App.ServiceProvider`
- [Eliminar] `App.ApplicationServices` y` App.GetRequestService <> () `
- [Eliminar] Extensión de inyección de host no web
- [Eliminar] método `App.GetRequestService <>`
- [Eliminar] Método de autorización Jwt `ValidateJwtBearer`, no es necesario juzgar manualmente
- [Refactorización] La lógica subyacente del servicio de análisis `App.GetService <>` mejora enormemente el rendimiento del servicio de análisis
- [Optimización] Analice los problemas de rendimiento del servicio y optimice el código subyacente
- [Refactorización] Autorice el código central, mantenga las especificaciones de autorización de acuerdo con Microsoft [# I26DCB]
- Solución de problemas
- [Solucionar] Error de compilación después de que se genera el andamio oficial de Furion
- [Arreglar] Las propiedades integradas de `Tenant` no son un error de decoración` virtual`
- [Arreglar] Error en la construcción del nuevo nombre de `dockerfile`
- [Fix] `services.AddFriendlyException ()` carece de error de inyección de configuración
- [Solución] Se lanzó el grupo de contexto de la base de datos y se produjo un error de desbordamiento de la memoria en situaciones de alta concurrencia [# I2524K] , [# I24UMN]
- [Solución] Error de excepción cuando `Sql agent` devuelve datos vacíos [# I24TCK]
- [Fix] Unidad de trabajo "[UnitOfWork]" error de lanzamiento de múltiples bases de datos [# I24Q6W]
- [Solución] El error 403 aparece cuando coexisten la autorización de función personalizada y varias autorizaciones [# I26H1L]
- [Solución] Excepción vacía `Oops.Oh` y error de excepción de lanzamiento de servicio no admitido [# I26EFU] , [# I26GM4]
- [Solución] Error ilegible de codificación de archivo generado por `cli.ps` [# I26DVT]
- [Fix] El botón de carga de archivos "Swagger" no muestra [# I26B6U]
- [Fix] Problema de inconsistencia en el caso de serialización del código de estado de autorización del resultado de normalización [# I26B26]
- [Solucionar] Error confuso en chino cuando los resultados normalizados no están habilitados [# I268T5]
- [Solución] `MySql` no puede detectar un error de excepción asíncrono [# I265SO]
- [Fix] `cli.ps1` indica que no se puede encontrar la cadena de conexión de la base de datos error [# I2647U]
- [Solución] `ApiSears.ControllerEnd` no funciona error [# I25KH6]
- [Solución] Problema de caso de propiedad de serialización de resultado de solicitud de ` RemoteRequest` [# I25I8R]
- [Solución] Error de excepción vacía `HttpContext.GetEndpoinet ()` [# PR73]
- Otros cambios
- [Ajuste] Todos los atributos de "EntityBase" y "Entity" están decorados con "vitural"
- [Optimización] Rendimiento de lectura y análisis de "Jwt"
- [Optimización] Optimice el código para admitir la última sintaxis de C # 9.0
- [Eliminar] Código inútil o sin usar
- [Otro] Pequeñas optimizaciones y pequeños ajustes en el rendimiento del código
- [Optimización] Rendimiento de cifrado "MD5" [# PR71]
- [Cerrar] [# I265JV] , [# I26ERA] , [# I26EVW] , [# I26GHC] , [# I26GJ1] , [# I26O1F]
- Cambios en el documento
- [Actualización] Entrada de un minuto, autenticación de seguridad, base de datos, documento de contexto de base de datos, documento de operación de múltiples bases de datos
Dirección del documento
- Documentos nacionales: https://monksoul.gitee.io/furion/
- Documentos extranjeros: https://furion.pro
dirección del proyecto
- Gitee: https://gitee.com/monksoul/Furion
- GitHub: https://github.com/monksoul/Furion
- Docker: https://hub.docker.com/r/monksoul/furion
- Nuget: https://www.nuget.org/packages/Furion
módulo funcional
Furion sigue el acuerdo de código abierto Apache-2.0 y da la bienvenida a todos a enviar un PR o problema . Si quieres, puedes regalar una estrella .