Skip to content

Commit d9da82e

Browse files
committed
ServiceProvider in Extension for configure provider.
1 parent 784172f commit d9da82e

File tree

3 files changed

+22
-3
lines changed

3 files changed

+22
-3
lines changed

TinyInsights.TestApp/MauiProgram.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public static MauiApp CreateMauiApp()
1515
fonts.AddFont("OpenSans-Semibold.ttf", "OpenSansSemibold");
1616
})
1717
.UseTinyInsights("InstrumentationKey=8b51208f-7926-4b7b-9867-16989206b950;IngestionEndpoint=https://swedencentral-0.in.applicationinsights.azure.com/;ApplicationId=0c04d3a0-9ee2-41a5-996e-526552dc730f",
18-
(provider) =>
18+
(provider, serviceProvider) =>
1919
{
2020
provider.IsTrackErrorsEnabled = true;
2121
provider.IsTrackCrashesEnabled = true;

TinyInsights/ApplicationInsightsProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ namespace TinyInsights;
1010

1111
public class ApplicationInsightsProvider : IInsightsProvider, ILogger
1212
{
13-
private string? ConnectionString { get; set; }
13+
public string? ConnectionString { get; set; }
1414
private static ApplicationInsightsProvider? provider;
1515
private const string userIdKey = nameof(userIdKey);
1616

TinyInsights/InsightsExtension.cs

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,17 @@ public static MauiAppBuilder UseTinyInsights(this MauiAppBuilder appBuilder)
1111
return appBuilder;
1212
}
1313

14+
public static MauiAppBuilder UseTinyInsights(this MauiAppBuilder appBuilder, string? applicationInsightsConnectionString = null, Action<IInsightsProvider, IServiceCollection>? configureProvider = null)
15+
{
16+
return UseTinyInsights(appBuilder, applicationInsightsConnectionString, null, configureProvider);
17+
}
18+
1419
public static MauiAppBuilder UseTinyInsights(this MauiAppBuilder appBuilder, string? applicationInsightsConnectionString = null, Action<IInsightsProvider>? configureProvider = null)
20+
{
21+
return UseTinyInsights(appBuilder, applicationInsightsConnectionString, configureProvider, null);
22+
}
23+
24+
private static MauiAppBuilder UseTinyInsights(this MauiAppBuilder appBuilder, string? applicationInsightsConnectionString = null, Action<IInsightsProvider>? configureProvider = null, Action<IInsightsProvider, IServiceCollection>? configureProviderWithServiceCollection = null)
1525
{
1626
appBuilder.Services.AddSingleton<IInsights>((_) =>
1727
{
@@ -23,7 +33,15 @@ public static MauiAppBuilder UseTinyInsights(this MauiAppBuilder appBuilder, str
2333
#else
2434
var provider = new ApplicationInsightsProvider();
2535
#endif
26-
configureProvider?.Invoke(provider);
36+
37+
if (configureProviderWithServiceCollection is not null)
38+
{
39+
configureProviderWithServiceCollection.Invoke(provider, appBuilder.Services);
40+
}
41+
else if (configureProvider is not null)
42+
{
43+
configureProvider.Invoke(provider);
44+
}
2745

2846
provider.Initialize();
2947

@@ -38,6 +56,7 @@ public static MauiAppBuilder UseTinyInsights(this MauiAppBuilder appBuilder, str
3856
return appBuilder;
3957
}
4058

59+
4160
public static MauiAppBuilder UseTinyInsightsAsILogger(this MauiAppBuilder appBuilder, string? applicationInsightsConnectionString = null, Action<IInsightsProvider>? configureProvider = null)
4261
{
4362
appBuilder.Services.AddSingleton<ILogger>((_) =>

0 commit comments

Comments
 (0)