Problem Statement
Dotnet 9 has included support for using the IHostApplicationBuilder style for app creation
https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide?tabs=ihostapplicationbuilder%2Cwindows#start-up-and-configuration
With the new style we dont have access to the HostBuilderContext
var builder = FunctionsApplication.CreateBuilder(args);
builder.UseSentry(<missing>, options =>
{
...
});
Temporary workaround:
var builder = FunctionsApplication.CreateBuilder(args);
var context = new HostBuilderContext(new Dictionary<object, object>())
{
Configuration = builder.Configuration,
};
builder.UseSentry(context, options =>
{
...
});
I see 2 obvious solutions:
Either add a builder extension with using FunctionsApplicationBuilder
or do a cast
public static IHostApplicationBuilder UseSentry(
this IFunctionsWorkerApplicationBuilder builder,
Action<SentryAzureFunctionsOptions>? optionsConfiguration)
{
builder.UseMiddleware<SentryFunctionsWorkerMiddleware>();
IServiceCollection services = builder.Services;
IConfigurationSection section;
if (builder is IHostApplicationBuilder applicationBuilder)
{
section = applicationBuilder.Configuration.GetSection("Sentry");
}
else
{
throw new ArgumentException("builder is not a IHostApplicationBuilder");
}
services.AddSingleton<IConfigureOptions<SentryAzureFunctionsOptions>>((Func<IServiceProvider, IConfigureOptions<SentryAzureFunctionsOptions>>) (_ => (IConfigureOptions<SentryAzureFunctionsOptions>) new SentryAzureFunctionsOptionsSetup((IConfiguration) section)));
if (optionsConfiguration != null)
services.Configure<SentryAzureFunctionsOptions>(optionsConfiguration);
services.AddLogging();
services.AddSingleton<ILoggerProvider, SentryAzureFunctionsLoggerProvider>();
services.AddSingleton<IConfigureOptions<SentryAzureFunctionsOptions>, SentryAzureFunctionsOptionsSetup>();
services.AddSentry<SentryAzureFunctionsOptions>();
return builder;
}
Solution Brainstorm
No response
Problem Statement
Dotnet 9 has included support for using the IHostApplicationBuilder style for app creation
https://learn.microsoft.com/en-us/azure/azure-functions/dotnet-isolated-process-guide?tabs=ihostapplicationbuilder%2Cwindows#start-up-and-configuration
With the new style we dont have access to the
HostBuilderContextTemporary workaround:
I see 2 obvious solutions:
Either add a builder extension with using
FunctionsApplicationBuilderor do a cast
Solution Brainstorm
No response