Application
Application
🌍 Language: English | Español
Top-level entry point for DAFce applications. TDafApplication wraps the generic Hosting pipeline and adds application-level lifecycle helpers, version metadata, and a global singleton accessor.
Quick Start
program MyApp;
uses
Daf.Application.Builder;
begin
TDafApplication
.CreateHostBuilder(ParamStr(0))
.ConfigureServices(
procedure(Services: IServiceCollection)
begin
Services.AddTransient<IMyService, TMyService>;
end)
.Build
.Run;
end.Subclass pattern
Override Execute to write imperative startup logic:
type
TMyApp = class(TDafApplication)
protected
procedure Execute; override;
end;
procedure TMyApp.Execute;
begin
Logger.LogInformation('App running, version {V}', [VersionInfo.Tag]);
// … long-running work or RunAsync
end;Version information
Each application carries a TVersionInfo record populated at compile time:
var V := TDafApplication.App.VersionInfo;
// V.Major, V.Minor, V.Patch, V.PreRelease, V.Tag
// V.ArchBits (32 / 64), V.Platform, V.Debug (bool)
// V.VersionTag(WithCompiledMeta) → full semver stringGlobal singleton
TDafApplication.App // class property — available after BuildRuntime services
var App := TDafApplication.App;
App.Services // IServiceProvider
App.Environment // IHostEnvironment
App.Configuration // IConfiguration
App.Host // IHostDocumentation
- 📖 Usage Guide — builder API, lifecycle, version metadata, hosting integration