Shared : Presentation
The Shared.Presentation project provides cross-cutting configuration extensions for the presentation layer of ASP.NET Core applications. It includes helpers for Serilog logging setup, localization configuration, request localization middleware, and FluentValidation display name resolution using resource files.
Dependency Injection
The dependency injection extensions provide configuration helpers for logging, localization, request localization, and validation display names :
- HostApplicationBuilderExtension : Provides
AddSerilogto configure Serilog with a bootstrap logger (console and/or debug output) and read full configuration from app settings, andAddLocalizationto register localization services and validate theLocalizationOptionusing FluentValidation. - ApplicationBuilderExtension : Provides
UseSerilogRequestLoggerto enable Serilog request logging middleware,UseConfiguredRequestLocalizationto configure request localization based onLocalizationOption, andUseConfiguredRequestLocalizationAcceptLanguageHeaderRequestto restrict culture providers to theAccept-Languageheader only. - HostExtension : Provides
UseFluentValidationDisplayNameResolverto set a global FluentValidation display name resolver that resolves property names from application and domain resource files, falling back to the domain resource if the key is not found in the application resource. - WebApplicationExtension : An empty extension class reserved for future WebApplication-specific middleware or configuration extensions.