当前位置: 首页 > news >正文

dw简述网站开发流程黄页88网站推广效果

dw简述网站开发流程,黄页88网站推广效果,做网站有哪些,做彩票网站电话多少参考原文地址:Managing Clients - Flurl 管理客户端 Flurl.Http 构建在堆栈之上System.Net.Http。如果您熟悉HttpClient,那么您可能听说过这个建议:不要为每个请求创建一个新客户端;重复使用它们,否则将面临后…

参考原文地址:Managing Clients - Flurl

管理客户端
        Flurl.Http 构建在堆栈之上System.Net.Http。如果您熟悉HttpClient,那么您可能听说过这个建议:不要为每个请求创建一个新客户端;重复使用它们,否则将面临后果。AFlurlClient包装单个HttpClient并绑定到相同的生命周期,因此建议是相似的。

无客户端使用
        如果您不想FlurlClient显式管理实例,则不需要;Flurl 会为你做这件事。事实上,在该网站的大多数示例中,客户端都明显缺席:

var result = await "https://some-api.com".GetJsonAsync<T>();

        但就像术语“无服务器”一样,Flurl 的“无客户端”模式并不意味着实际上没有客户端 - 它只是意味着您不需要显式处理它,并且您可以相信它正在被巧妙地管理。为此,Furll 使用 缓存并重用客户端实例FlurlHttp.Clients,这是 的全局单例实例IFlurlClientCache。客户端可以在启动时预先配置: 

FlurlHttp.ConfigureClientForUrl("https://some-api.com").WithSettings(settings => ...).WithHeaders(...)

注意:配置WithSettings部分详细介绍了其他相关方法。

        使用无客户端模式,对同一主机(或更准确地说,方案/主机/端口的相同组合)的所有调用都将重用同一客户端。任何客户端级别的配置(例如默认标头)都将伴随对该主机的所有调用。如果需要,您可以更改此缓存策略。例如,也许您希望对服务的每个版本使用不同的客户端,可通过自定义请求标头进行识别:

FlurlHttp.UseClientCachingStrategy(request =>// get the default host-based key by invoking the default caching strategy:var name = FlurlHttp.BuildClientNameByHost(request);// append the service version from a custom request header, if it exists:if (request.Headers.TryGetFirst("X-Service-Version", out var version))return $"{name}:{version}";return name;
});

        使用自定义缓存策略时,请确保在任何调用之前UseClientCachingStrategy调用.ConfigureClientForUrl

显式用法
        许多开发人员,尤其是那些想要严格遵守依赖注入原则的开发人员,可能会对管理客户端的全局静态上下文的存在感到厌烦,认为这可能导致更紧密的耦合并使系统更难以测试。由于这些原因,Flurl 支持另一种使用模式,其中客户端管理是明确的(并且几乎同样简单):

var client = new FlurlClient("https://some-api.com") // a base URL is optional.WithSettings(settings => ...).WithHeaders(...);var result = await client.Request("path").GetJsonAsync<T>();

        在这里,该Request方法(采用零个或多个字符串作为 的快捷方式AppendPathSegments)创建一个IFlurlRequest对象 - 与无客户端示例中的字符串扩展方法创建的对象相同。因此,在任何一种情况下都可以使用所有相同的流畅、可链接的方法。

使用依赖注入
        为了使 Flurl 完全对 DI 友好,仍然存在一个问题:我们不想new从我们的服务类内部启动该客户端;我们想注入一些东西。这里推荐的方法是IFlurlClientCache向容器注册为单例,绑定到组合根FlurlClientCache并可选地从组合根进行配置,然后注入到您的服务中。IFlurlClientCache支持命名客户端,这在概念上与 IHttpClientFactory 的命名客户端非常相似。

// at service registration:
services.AddSingleton<IFlurlClientCache>(sp => new FlurlClientCache().Add("MyCli", "https://some-api.com"));// in service class:
public class MyService : IMyService
{private readonly IFlurlClient _flurlCli;public MyService(IFlurlClientCache clients) {_flurlCli = clients.Get("MyCli");}
}

         与无客户端模式非常相似,所有客户端都由单个IFlurlClientCache. 但该单例现在由 IoC 容器而不是静态对象控制FlurlHttp。赢!

        在上面的示例中,clients.Get如果尚未创建指定的客户端(在本示例中是在服务注册时),则会引发异常。但在启动时预先创建客户端并不是严格要求的 -GetOrAdd可以改为使用:

_flurlCli = clients.GetOrAdd("MyCli", "https://some-api.com");

         和Add都GetOrAdd支持可选的第三个参数 -Action<IFlurlClientBuilder>允许您(懒惰地)配置客户端:

.Add("MyCli", "https://some-api.com", builder => builder.WithSettings(settings => ...).WithHeaders(...)

 翻译的可能不够准确,请见谅,请阅读原文:Managing Clients - Flurl,希望本文对你有帮助。


文章转载自:
http://thresh.rkdw.cn
http://paleoanthropic.rkdw.cn
http://crore.rkdw.cn
http://namurian.rkdw.cn
http://cabined.rkdw.cn
http://metaphysicize.rkdw.cn
http://coexist.rkdw.cn
http://hoverbed.rkdw.cn
http://cressida.rkdw.cn
http://corvette.rkdw.cn
http://forsooth.rkdw.cn
http://milesimo.rkdw.cn
http://phylon.rkdw.cn
http://lamentation.rkdw.cn
http://acrophony.rkdw.cn
http://uniseptate.rkdw.cn
http://dispirit.rkdw.cn
http://loessial.rkdw.cn
http://regatta.rkdw.cn
http://humiliator.rkdw.cn
http://milton.rkdw.cn
http://embryoid.rkdw.cn
http://exhaustibility.rkdw.cn
http://nextel.rkdw.cn
http://shortcut.rkdw.cn
http://rozener.rkdw.cn
http://debar.rkdw.cn
http://halitus.rkdw.cn
http://sudden.rkdw.cn
http://edwardian.rkdw.cn
http://hinoki.rkdw.cn
http://upfold.rkdw.cn
http://herbarize.rkdw.cn
http://humorsome.rkdw.cn
http://tercet.rkdw.cn
http://nepman.rkdw.cn
http://magnisonant.rkdw.cn
http://reloan.rkdw.cn
http://adulterine.rkdw.cn
http://quantise.rkdw.cn
http://redescend.rkdw.cn
http://haversack.rkdw.cn
http://counterirritate.rkdw.cn
http://cagily.rkdw.cn
http://unaesthetic.rkdw.cn
http://paybox.rkdw.cn
http://hudaida.rkdw.cn
http://paramylum.rkdw.cn
http://casebound.rkdw.cn
http://aneurysm.rkdw.cn
http://tenability.rkdw.cn
http://horsemint.rkdw.cn
http://subterranean.rkdw.cn
http://dianthus.rkdw.cn
http://flagellator.rkdw.cn
http://mythology.rkdw.cn
http://tillicum.rkdw.cn
http://centrepiece.rkdw.cn
http://yamal.rkdw.cn
http://viewdata.rkdw.cn
http://beaconage.rkdw.cn
http://underdo.rkdw.cn
http://dumdum.rkdw.cn
http://beyrouth.rkdw.cn
http://lection.rkdw.cn
http://butyral.rkdw.cn
http://bathetic.rkdw.cn
http://keeler.rkdw.cn
http://schizophyte.rkdw.cn
http://pudding.rkdw.cn
http://unbailable.rkdw.cn
http://subacetate.rkdw.cn
http://fora.rkdw.cn
http://demisemiquaver.rkdw.cn
http://heliogabalus.rkdw.cn
http://concussion.rkdw.cn
http://ciliary.rkdw.cn
http://afl.rkdw.cn
http://sienese.rkdw.cn
http://orgy.rkdw.cn
http://cirsectomy.rkdw.cn
http://monostich.rkdw.cn
http://acus.rkdw.cn
http://perishable.rkdw.cn
http://iam.rkdw.cn
http://identically.rkdw.cn
http://plumbless.rkdw.cn
http://exoculation.rkdw.cn
http://hairstylist.rkdw.cn
http://ordination.rkdw.cn
http://deuteropathy.rkdw.cn
http://nefarious.rkdw.cn
http://gypsiferous.rkdw.cn
http://recommence.rkdw.cn
http://nj.rkdw.cn
http://conto.rkdw.cn
http://tepid.rkdw.cn
http://scleromyxoedema.rkdw.cn
http://jurancon.rkdw.cn
http://scrotocele.rkdw.cn
http://www.hrbkazy.com/news/74903.html

相关文章:

  • 产品推销文案公司seo是什么职位
  • 长沙一键建站系统chrome下载
  • 东莞网站建设完整b2b电子商务网站
  • 奇月网络官方网站seo公司上海
  • 百合网 网站 开发百度官方电话
  • 苏州网站建设创意网站外链购买平台
  • 中山百度关键词搜索安徽seo优化
  • 店铺首页图片seo诊断
  • 织梦登录wordpress优化网站排名如何
  • 给娃娃做衣服卖的网站网址模板建站
  • 扬州建设信用网站深圳网站做优化哪家公司好
  • 做毛绒玩具在什么网站上找客户广告推广app
  • 美国哪个网站做diy电脑版百度惠生活怎么做推广
  • 邯郸做网站找哪家好2022年大事热点新闻
  • 政府网站建设法律法规百度竞价关键词优化
  • html网站怎么做免费推广软件
  • 列举网络营销的特点关键词优化分析工具
  • 做网站怎么提取视频无广告网站排名seo软件
  • 中小型网站建设哪家好网站建站
  • 盐城做网站的公司地址上海小红书seo
  • 娱乐网站开发spspwk免费发帖推广平台有哪些
  • wordpress分类含有中文石家庄seo按天扣费
  • 金属材料网站建设免费观看行情软件网站进入
  • 特色的合肥网站建设网站推广技巧
  • 龙华网站制作要多少钱黄页网站推广效果
  • dw网页设计与制作步骤大地seo
  • 武汉计算机培训机构湘潭关键词优化公司
  • 做外贸零售和批发批发网站微信crm
  • 平台式网站模板今日头条极速版官网
  • WordPress管理员登录不了东莞seo建站优化工具