diff --git a/src/Directory.Build.props b/src/Directory.Build.props
index b4222412..42539e70 100644
--- a/src/Directory.Build.props
+++ b/src/Directory.Build.props
@@ -9,6 +9,7 @@
icon.jpg
true
9.0.2
+ [10.0.0,11.0.0)
latest
diff --git a/src/TickerQ.Dashboard/DependencyInjection/AspNetCoreExtensions.cs b/src/TickerQ.Dashboard/DependencyInjection/AspNetCoreExtensions.cs
new file mode 100644
index 00000000..b8df940f
--- /dev/null
+++ b/src/TickerQ.Dashboard/DependencyInjection/AspNetCoreExtensions.cs
@@ -0,0 +1,38 @@
+using Microsoft.AspNetCore.Builder;
+using TickerQ.Utilities.Enums;
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using TickerQ.DependencyInjection;
+using TickerQ.Utilities;
+
+namespace TickerQ.Dashboard.DependencyInjection
+{
+ ///
+ /// ASP.NET Core specific extensions for TickerQ with Dashboard support
+ ///
+ public static class AspNetCoreExtensions
+ {
+ ///
+ /// Initializes TickerQ for ASP.NET Core applications with Dashboard support
+ ///
+ public static IApplicationBuilder UseTickerQ(this IApplicationBuilder app, TickerQStartMode qStartMode = TickerQStartMode.Immediate)
+ {
+ var serviceProvider = app.ApplicationServices;
+
+ // Initialize core TickerQ functionality using the base extension from TickerQ package
+ serviceProvider.UseTickerQ(qStartMode);
+
+ // Handle Dashboard-specific initialization if configured
+ var tickerExecutionContext = serviceProvider.GetService();
+ if (tickerExecutionContext?.DashboardApplicationAction != null)
+ {
+ // Cast object back to IApplicationBuilder for Dashboard middleware
+ tickerExecutionContext.DashboardApplicationAction(app);
+ tickerExecutionContext.DashboardApplicationAction = null;
+ }
+
+ return app;
+ }
+ }
+}
+
diff --git a/src/TickerQ.Utilities/TickerExecutionContext.cs b/src/TickerQ.Utilities/TickerExecutionContext.cs
index 18be64ae..21508c9d 100644
--- a/src/TickerQ.Utilities/TickerExecutionContext.cs
+++ b/src/TickerQ.Utilities/TickerExecutionContext.cs
@@ -1,7 +1,7 @@
using System;
using System.Runtime.InteropServices;
using System.Threading;
-using Microsoft.AspNetCore.Builder;
+using Microsoft.Extensions.Hosting;
using TickerQ.Utilities.Enums;
using TickerQ.Utilities.Models;
@@ -18,7 +18,7 @@ internal class TickerExecutionContext
{
private long _nextOccurrenceTicks;
internal Action ExternalProviderApplicationAction { get; set; }
- internal Action DashboardApplicationAction { get; set; }
+ internal Action