diff --git "a/docs/03.NET\345\276\256\346\234\215\345\212\241/04.\346\227\245\345\277\227/02.NLog.md" "b/docs/03.NET\345\276\256\346\234\215\345\212\241/04.\346\227\245\345\277\227/02.NLog.md"
index 23e53d1..3bfe2e2 100644
--- "a/docs/03.NET\345\276\256\346\234\215\345\212\241/04.\346\227\245\345\277\227/02.NLog.md"
+++ "b/docs/03.NET\345\276\256\346\234\215\345\212\241/04.\346\227\245\345\277\227/02.NLog.md"
@@ -82,22 +82,38 @@ NLog过滤器允许开发人员根据需要指定要记录的日志事件。
##### 方式1(利用name路由过滤)
-> name 名称(*代表多个字符,?代表一个字符)
+> name 名称(*代表零个或者多个字符,?代表一个字符)
```xml
-
-
```
+> NLog 4.6以后版本,支持* ?出现在name中任何位置
+
+```xml
+
+
+
+```
+
demo(不同控制器输出不同日志文件)
diff --git "a/docs/03.NET\345\276\256\346\234\215\345\212\241/09.\347\206\224\346\226\255\351\207\215\350\257\225\351\231\220\346\265\201/01.Polly.md" "b/docs/03.NET\345\276\256\346\234\215\345\212\241/09.\347\206\224\346\226\255\351\207\215\350\257\225\351\231\220\346\265\201/01.Polly.md"
index 40edae3..d4e1e67 100644
--- "a/docs/03.NET\345\276\256\346\234\215\345\212\241/09.\347\206\224\346\226\255\351\207\215\350\257\225\351\231\220\346\265\201/01.Polly.md"
+++ "b/docs/03.NET\345\276\256\346\234\215\345\212\241/09.\347\206\224\346\226\255\351\207\215\350\257\225\351\231\220\346\265\201/01.Polly.md"
@@ -222,6 +222,56 @@ Console.WriteLine(result);
在这个示例中,我们首先创建了一个回退策略,它会在遇到任何异常时执行回退操作,返回默认值 "default value"。然后我们使用 Execute 方法来执行要执行的操作。如果操作失败,回退策略会自动执行回退操作,并返回默认值。
+
+
+
+## 超时策略
+
+> 超时一般不单独使用,要配合其它策略一起使用
+>
+> 超时后,polly会抛出:TimeoutRejectedException ,这样其它策略就可以捕获
+
+```csharp
+
+ //Timeout 超时一般不单独使用,要配合其它策略一起使用
+
+ //Timeout第一个参数是超时时间,单位:秒
+ //超过2秒就异常,polly会抛出:TimeoutRejectedException ,这样Fallback就可以捕获
+ var TimeoutPolicy = Policy.Timeout( 2 ,
+ timeoutStrategy: Polly.Timeout.TimeoutStrategy.Pessimistic ,
+ onTimeout: ( context , timespan , task ) =>
+ {
+ lbtxt.Text = "超时啦";
+ } );
+
+ var _Policyf = Policy.Handle()
+ //Fallback的第1个参数:失败回调
+ //第2个参数:失败后回调(这里可以获取到Exception信息) (这个回调比第1个参数的回调先运行)
+ .Fallback( ( context ) =>
+ {
+ lbtxt.Text = "失败回调";
+ } , ( ex , context ) =>
+ {
+ lbtxt.Text = "失败回调开始,错误:" + ex.Message;
+ } );
+
+ //把2个策略合并
+ var _Policy = Policy.Wrap( _Policyf , TimeoutPolicy );
+
+ //如果还是失败,就调用Fallback
+ //如果成功,不会触发Fallback
+ _Policy.Execute( () =>
+ {
+ var i = 1;
+
+ Thread.Sleep( 6000 );
+ } );
+
+
+```
+
+
+
## 策略包装器
策略包装器是一种将多个策略组合在一起的机制。在Polly中,我们可以使用 PolicyWrap 来实现策略包装器。PolicyWrap 可以将多个策略组合在一起,并按照特定的顺序执行它们。下面是一个简单的示例,演示如何使用 PolicyWrap。