← Volver al Inicio

Common.Application

Utilidades y servicios comunes de aplicación

📊 Resumen del Proyecto

2
Clases Principales
1
Dependencia Externa
147
Líneas de Código
100%
Reutilizable

El proyecto Common.Application proporciona utilidades y servicios comunes que pueden ser utilizados por cualquier parte del sistema RestMaster. Este proyecto se enfoca en funcionalidades de configuración y lectura de archivos INI.

🎯 Propósito del Proyecto

  • Utilidades Comunes: Funcionalidades reutilizables en toda la aplicación
  • Configuración: Lectura y manejo de archivos de configuración INI
  • Conectividad: Generación de cadenas de conexión
  • Flexibilidad: Componentes adaptables a diferentes contextos
  • Simplicidad: Interfaces simples y fáciles de usar

🔧 Configuración del Proyecto

📋 Características Técnicas

  • Target Framework: .NET 8.0
  • Implicit Usings: Habilitado
  • Nullable Reference Types: Habilitado
  • Dependencias: INIParser 1.0.1

📦 Dependencias Externas

  • INIParser: Biblioteca para parsing de archivos INI

📁 Componentes Disponibles

📄 IniFile

Clase para lectura y manejo de archivos de configuración INI con soporte para diferentes encodings.

Ver Documentación

🔗 AliConfigReader

Lector especializado para configuraciones de base de datos que genera cadenas de conexión.

Ver Documentación

🔍 Características de los Componentes

📝 Patrones de Diseño

  • Singleton Pattern: Para archivos de configuración
  • Factory Pattern: Para generación de cadenas de conexión
  • Sealed Classes: Para clases que no deben ser heredadas
  • Async/Await: Soporte para operaciones asíncronas

🎯 Características Técnicas

  • Thread Safety: Operaciones seguras en entornos multi-hilo
  • Encoding Support: Soporte para diferentes encodings de archivo
  • Error Handling: Manejo robusto de errores
  • Performance: Optimizado para lectura frecuente

🔧 Funcionalidades

  • File Loading: Carga de archivos INI desde disco
  • Section Access: Acceso a secciones y claves
  • Connection Strings: Generación automática de cadenas de conexión
  • Async Operations: Operaciones asíncronas para archivos

🔗 Integración con Otros Proyectos

📚 Proyectos Relacionados

  • Back.API: Utiliza configuración para inicialización
  • Back.Application: Utiliza utilidades de configuración
  • Back.Domain: Puede usar configuraciones leídas
  • RMAuth: Utiliza configuración de base de datos

🎯 Casos de Uso

  • Configuración de Base de Datos: Lectura de parámetros de conexión
  • Configuración de Aplicación: Parámetros generales del sistema
  • Configuración de Servicios: Parámetros de servicios externos
  • Migración de Configuración: Conversión de formatos de configuración
  • Desarrollo Local: Configuración para desarrollo

📋 Estructura de Archivos INI

🏗️ Formato Soportado

  • Secciones: Definidas con corchetes [SectionName]
  • Claves-Valores: Formato key=value
  • Comentarios: Líneas que comienzan con ;
  • Espacios: Manejo automático de espacios en blanco
  • Encoding: Soporte para UTF-8 y otros encodings

💡 Ejemplo de Archivo INI

[MasterDB] UserID=restmaster_user Password=secure_password_123 DataSource=localhost InitialCatalog=RestMaster_Master [StoreDB] UserID=restmaster_user Password=secure_password_123 DataSource=localhost InitialCatalog=RestMaster_Store

🔐 Consideraciones de Seguridad

🔒 Seguridad de Configuración

  • Credenciales: Almacenamiento seguro de credenciales
  • Encriptación: Soporte para valores encriptados
  • Permisos de Archivo: Control de acceso a archivos de configuración
  • Variables de Entorno: Integración con variables de entorno

⚠️ Mejores Prácticas

  • No Committear: No incluir archivos con credenciales en el repositorio
  • User Secrets: Usar User Secrets para desarrollo
  • Azure Key Vault: Usar Key Vault para producción
  • Logging: No loggear información sensible