当前位置: 移动技术网 > IT编程>开发语言>.net > Polly每次重试执行不同的操作

Polly每次重试执行不同的操作

2020年03月17日  | 移动技术网IT编程  | 我要评论

贯通的意思,华彬江南锦,大唐魔皇传

polly每次重试执行不同的操作

前言

  最近在写wg(用的 .net core 3.1 + wpf + abp vnext),程序里大量用到了重试机制选用的是polly组件(只知道这个...)。

遇到的问题

  在当前屏幕下根据npc名称查找npc的坐标,但自己的人物可能会挡住npc,导致识别不到

需求

  重试的时候希望执行

  1. 移动操作
  2. 根据重试次数调整文字识别准确度参数。

寻求解决办法历程

  1. 百度、bing!关键字搜索polly等。说实话,官方更新的速度太快了,很多教程都已经不全面了。未果

  2. 官方文档!是在是太多了,最开始只看与execute关键词有关的信息,没找到。然后整体看了一遍,还是没找到。

  3. stackoverflow 各种关键词未找到。

  4. google!

    1. 中文搜索!其实和bing差不多,有时候还不如bing。所以还是一样。
    2. 英文搜索!其实是找到了一篇文章,但没细看。最终错过!
  5. github的issues 最终找到了https://github.com/app-vnext/polly/issues/38。这种方法也想过,但觉得很不好。将要妥协的时候,在最后一楼发现
    ```
    the ability to do this is now delivered in polly v5.1. polly's flowing with the execution becomes mutable, to allow what @yonih and @hawkunsh requested.context

    see http://www.thepollyproject.org/2017/05/04/putting-the-context-into-polly/ for details. shout if any questions/suggestions.
    ``  也就是在4`里发现的那篇文章。

最终代码

policy.handle<exception>()
    .retry(retry, (ex, retrycount, context) =>
    {
        //赋值 重试次数
        context["retrycount"] = retrycount;
    })
    .execute((ct) =>
    {
        //获取 重试次数
        var rc = ct["retrycount"];
        console.writeline(rc);
    }, contextdata: new dictionary<string, object> { { "retrycount", 0 } /*初始化*/ });

结束

  百度|bing|google

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网