Browse Source

Register DaprClient to DI

Also, made factory methods sync.
pull/14015/head
Halil İbrahim Kalkan 4 years ago
parent
commit
7ec42e55cc
  1. 8
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs
  2. 7
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs
  3. 4
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/DaprApiTokenProvider.cs
  4. 4
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs
  5. 2
      framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IDaprApiTokenProvider.cs
  6. 2
      framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs
  7. 2
      framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs

8
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs

@ -22,7 +22,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
JsonSerializerOptions = CreateJsonSerializerOptions(systemTextJsonSerializerOptions.Value); JsonSerializerOptions = CreateJsonSerializerOptions(systemTextJsonSerializerOptions.Value);
} }
public virtual async Task<DaprClient> CreateAsync(Action<DaprClientBuilder>? builderAction = null) public virtual DaprClient Create(Action<DaprClientBuilder>? builderAction = null)
{ {
var builder = new DaprClientBuilder() var builder = new DaprClientBuilder()
.UseJsonSerializationOptions(JsonSerializerOptions); .UseJsonSerializationOptions(JsonSerializerOptions);
@ -37,7 +37,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
builder.UseGrpcEndpoint(DaprOptions.GrpcEndpoint); builder.UseGrpcEndpoint(DaprOptions.GrpcEndpoint);
} }
var apiToken = await DaprApiTokenProvider.GetAsync(); var apiToken = DaprApiTokenProvider.Get();
if (!apiToken.IsNullOrWhiteSpace()) if (!apiToken.IsNullOrWhiteSpace())
{ {
builder.UseDaprApiToken(apiToken); builder.UseDaprApiToken(apiToken);
@ -48,7 +48,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
return builder.Build(); return builder.Build();
} }
public virtual async Task<HttpClient> CreateHttpClientAsync( public virtual HttpClient CreateHttpClient(
string? appId = null, string? appId = null,
string? daprEndpoint = null, string? daprEndpoint = null,
string? daprApiToken = null) string? daprApiToken = null)
@ -62,7 +62,7 @@ public class AbpDaprClientFactory : IAbpDaprClientFactory, ISingletonDependency
return DaprClient.CreateInvokeHttpClient( return DaprClient.CreateInvokeHttpClient(
appId, appId,
daprEndpoint, daprEndpoint,
daprApiToken ?? await DaprApiTokenProvider.GetAsync() daprApiToken ?? DaprApiTokenProvider.Get()
); );
} }

7
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprModule.cs

@ -1,4 +1,5 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Volo.Abp.Json; using Volo.Abp.Json;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
@ -11,5 +12,11 @@ public class AbpDaprModule : AbpModule
{ {
var configuration = context.Services.GetConfiguration(); var configuration = context.Services.GetConfiguration();
Configure<AbpDaprOptions>(configuration.GetSection("Dapr")); Configure<AbpDaprOptions>(configuration.GetSection("Dapr"));
context.Services.TryAddSingleton(
serviceProvider => serviceProvider
.GetRequiredService<IAbpDaprClientFactory>()
.Create()
);
} }
} }

4
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/DaprApiTokenProvider.cs

@ -12,8 +12,8 @@ public class DaprApiTokenProvider : IDaprApiTokenProvider, ISingletonDependency
Options = options.Value; Options = options.Value;
} }
public virtual Task<string> GetAsync() public virtual string Get()
{ {
return Task.FromResult(Options.DaprApiToken); return Options.DaprApiToken;
} }
} }

4
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IAbpDaprClientFactory.cs

@ -4,9 +4,9 @@ namespace Volo.Abp.Dapr;
public interface IAbpDaprClientFactory public interface IAbpDaprClientFactory
{ {
Task<DaprClient> CreateAsync(Action<DaprClientBuilder>? builderAction = null); DaprClient Create(Action<DaprClientBuilder>? builderAction = null);
Task<HttpClient> CreateHttpClientAsync( HttpClient CreateHttpClient(
string? appId = null, string? appId = null,
string? daprEndpoint = null, string? daprEndpoint = null,
string? daprApiToken = null string? daprApiToken = null

2
framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/IDaprApiTokenProvider.cs

@ -2,5 +2,5 @@ namespace Volo.Abp.Dapr;
public interface IDaprApiTokenProvider public interface IDaprApiTokenProvider
{ {
Task<string> GetAsync(); string Get();
} }

2
framework/src/Volo.Abp.DistributedLocking.Dapr/Volo/Abp/DistributedLocking/Dapr/DaprAbpDistributedLock.cs

@ -33,7 +33,7 @@ public class DaprAbpDistributedLock : IAbpDistributedLock, ITransientDependency
name = DistributedLockKeyNormalizer.NormalizeKey(name); name = DistributedLockKeyNormalizer.NormalizeKey(name);
var daprClient = await DaprClientFactory.CreateAsync(); var daprClient = DaprClientFactory.Create();
var lockResponse = await daprClient.Lock( var lockResponse = await daprClient.Lock(
DistributedLockDaprOptions.StoreName, DistributedLockDaprOptions.StoreName,
name, name,

2
framework/src/Volo.Abp.EventBus.Dapr/Volo/Abp/EventBus/Dapr/DaprDistributedEventBus.cs

@ -197,7 +197,7 @@ public class DaprDistributedEventBus : DistributedEventBusBase, ISingletonDepend
protected virtual async Task PublishToDaprAsync(string eventName, object eventData) protected virtual async Task PublishToDaprAsync(string eventName, object eventData)
{ {
var client = await DaprClientFactory.CreateAsync(); var client = DaprClientFactory.Create();
await client.PublishEventAsync(pubsubName: DaprEventBusOptions.PubSubName, topicName: eventName, data: eventData); await client.PublishEventAsync(pubsubName: DaprEventBusOptions.PubSubName, topicName: eventName, data: eventData);
} }

Loading…
Cancel
Save