maksit-dapr/src/MaksIT.Dapr/Extensions/ServiceCollectionExtensions.cs
2025-11-02 11:48:41 +01:00

26 lines
794 B
C#

using MaksIT.Dapr.Services;
using Microsoft.Extensions.DependencyInjection;
namespace MaksIT.Dapr.Extensions;
public static class ServiceCollectionExtensions {
private static bool _isDaprClientRegistered = false;
private static void AddDaprClientOnce(this IServiceCollection services) {
if (!_isDaprClientRegistered) {
services.AddDaprClient();
_isDaprClientRegistered = true;
}
}
public static void RegisterPublisher(this IServiceCollection services) {
services.AddDaprClientOnce();
services.AddSingleton<IDaprPublisherService, DaprPublisherService>();
}
public static void RegisterStateStore(this IServiceCollection services) {
services.AddDaprClientOnce();
services.AddSingleton<IDaprStateStoreService, DaprStateStoreService>();
}
}