You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用HttpClientFactory与PolicyRegistry传递logger时PolicyContextItems未定义如何解决

问题解答

PolicyContextItems 并非Polly官方库内置的类型,是对应教程中自定义的常量类,作用是统一管理Context字典的存储键,避免硬编码字符串带来的拼写错误问题。

定义方式

你只需要在项目中自行创建这个静态类即可,示例代码如下:

public static class PolicyContextItems
{
    // 这里定义的常量值作为Context中存储ILogger的键
    public const string Logger = "Logger";
    // 后续如果需要往Context里存其他数据,也可以在这里新增对应的常量键
}

使用注意事项

  • 你在往Context中写入日志实例的时候,也需要用PolicyContextItems.Logger作为键,保证存、取的键一致,示例代码如下:
// 执行策略时传入带Logger的Context
var context = new Context();
context.Add(PolicyContextItems.Logger, _logger);
await policy.ExecuteAsync(async (ctx) => {
    // 你的业务逻辑
}, context);
  • 如果你不想单独定义这个常量类,也可以直接把扩展方法里的PolicyContextItems.Logger替换成硬编码的字符串"Logger",不过不推荐这种写法,后续维护容易出现键不匹配的问题。

内容的提问来源于stack exchange,提问作者sr28

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 12:54:03