using System;
namespace Dpz.Core.SourceGenerator.Attributes;
/// <summary>
/// 配置由源生成器生成的 typed HttpClient 依赖注入注册。
/// </summary>
/// <remarks>
/// 该特性用于需要通过 <c>AddHttpClient<TService, TImplementation></c>
/// 注册的服务实现,例如依赖外部 HTTP API 的服务。
/// </remarks>
[AttributeUsage(AttributeTargets.Interface | AttributeTargets.Class, Inherited = false)]
public sealed class HttpClientDependencyInjectionAttribute(string baseAddress) : Attribute
{
/// <summary>
/// HttpClient 的基础地址。
/// </summary>
public string BaseAddress { get; } = baseAddress;
/// <summary>
/// HttpClient 的超时时间,单位为秒;小于等于 0 时使用 HttpClientFactory 默认值。
/// </summary>
public int TimeoutSeconds { get; set; }
}
评论加载中...