如果我包装一些政策,是否可以从包装的政策中访问它们?
示例:
private async void Button_Click(object sender, RoutedEventArgs e)
{
newView = CoreApplication.CreateNewView();
int newViewId = 0;
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
var id = Environment.CurrentManagedThreadId;
Frame frame = new Frame();
frame.Navigate(typeof(SecondPage), null);
Window.Current.Content = frame;
Window.Current.Activate();
newViewId = ApplicationView.GetForCurrentView().Id;
});
bool viewShown = await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId);
}
private async void SendBtn_Click(object sender, RoutedEventArgs e)
{
await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
var id = Environment.CurrentManagedThreadId;
Messenger.Default.Send("Test send message!!!");
});
}
我想访问断路器以进入该状态。
答案 0 :(得分:1)
目前Polly中没有办法询问已配置的 PolicyWrap
以获取它所包含的策略。可以添加:如果需要,请在Polly's Github上提出功能请求作为问题。
从问题中提供的代码示例中,您当然在变量 cb
中有断路器。因此,现在您可以将cb
的值传递到您需要的位置,然后访问cb.CircuitState
。
编辑:Polly v5.6.0现在可以使用.GetPolices<>
(and related) methods本地获取PolicyWrap
内的政策。