diff --git a/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs new file mode 100644 index 0000000000..2237547155 --- /dev/null +++ b/framework/src/Volo.Abp.Dapr/Volo/Abp/Dapr/AbpDaprClientFactory.cs @@ -0,0 +1,25 @@ +using Dapr.Client; +using Microsoft.Extensions.Options; +using Volo.Abp.DependencyInjection; + +namespace Volo.Abp.Dapr; + +public class AbpDaprClientFactory : ITransientDependency +{ + protected AbpDaprOptions Options { get; } + + public AbpDaprClientFactory(IOptions options) + { + Options = options.Value; + } + + public virtual Task CreateAsync() + { + var daprClient = new DaprClientBuilder() + .UseHttpEndpoint(Options.HttpEndpoint) + //.UseJsonSerializationOptions()//TODO: Use abp JsonSerializerOptions + .Build(); + + return Task.FromResult(daprClient); + } +}