3.84自定义扩展其他构建器
创建于 2026 年 8 月 17 日约 1 分钟读完
以下构建器均派生自 HttpRequestBuilderConfigurator<THttpBuilder> 抽象类型:
HttpFileDownloadBuilderHttpFileUploadBuilderHttpLongPollingBuilderHttpServerSentEventsBuilderHttpStressTestHarnessBuilder
这些构建器共享统一的扩展机制。例如,它们都支持通过 With(builder => { ... }) 方法为底层 HttpRequestBuilder 配置额外的请求参数。
HttpRequestBuilderConfigurator<THttpBuilder> 已内置了一些常用方法(如 Profiler())。如果需要进一步扩展,可以按照如下方式编写扩展方法:
public static class HttpRequestBuilderConfiguratorExtensions{ /// <summary> /// 当 HTTP 响应的 IsSuccessStatusCode 属性为 <c>false</c> 时,抛出异常。 /// </summary> /// <param name="configurator"> /// <see cref="HttpRequestBuilderConfigurator{THttpBuilder}" /> /// </param> /// <typeparam name="THttpBuilder">派生构建器的具体类型</typeparam> /// <returns>返回构建器自身实例,支持链式调用。</returns> public static THttpBuilder EnsureSuccessStatusCode<THttpBuilder>(this HttpRequestBuilderConfigurator<THttpBuilder> configurator) where THttpBuilder : HttpRequestBuilderConfigurator<THttpBuilder> { return configurator.With(builder => builder.EnsureSuccessStatusCode()); }}这样,上述所有构建器都可以直接调用 EnsureSuccessStatusCode() 方法,并返回自身构建器实例,保持流畅的链式调用体验。