Order.GetOrderListResponse[] getOrders = new GetOrderListResponse[0]; Order.StWebApiSoapServer serverResponse = new Order.StWebApiSoapServer(); var getOrdersw = serverResponse.GetOrderList(getOrderList);
@smalczyk1: @smalczyk1: Ogólnie to błędnie to wywołujesz, bo wywołanie powinno wyglądać mniej więcej tak:
Policy .Handle() .Retry(3, (ex, retryCount) => { // tutaj akcja wykonywana po złapaniu wyjątku - np. logowanie tego faktu }) .Execute( // tutaj natomiast akcja, która ma być powtarzana); Polly działa w ten sposób, że jeśli po kilku (w Twoim przypadku 3) próbach nie uda się wykonać akcji bez rzucenia tego wyjątku, to zostanie on rzucony
@smalczyk1: Szybciej, łatwiej, nie wynajdujesz koła od nowa, thread-safe itp. Zresztą Polly to zestaw różnych takich mechanizmów - czy to retry, timeout czy fallback, więc ma kilka różnych zastosowań.
używął ktoś Polly?Dlaczego mi nie wykonuje składni tylko od razu przeskakuje dalej za Policy
Policy
.Handle()
.Retry(3, (exception, retryCount) =>
{
// do something
retryCount++
});
Policy
.Handle()
.Retry(3, (exception, retryCount) =>
{
Order.GetOrderList getOrderList = new GetOrderList
{
sessionhash = hash,
offset = "0",
limit = "0",
modifiedfromSpecified = true,
modifiedfrom = dataLast,
// modifiedto = DateTime.Now
};
Order.GetOrderListResponse[] getOrders = new GetOrderListResponse[0];
Order.StWebApiSoapServer serverResponse = new Order.StWebApiSoapServer();
var getOrdersw = serverResponse.GetOrderList(getOrderList);
Policy.Handle()
.Retry(3, (ex, retryCount) =>
{
// tutaj akcja wykonywana po złapaniu wyjątku - np. logowanie tego faktu
})
.Execute( // tutaj natomiast akcja, która ma być powtarzana);
Polly działa w ten sposób, że jeśli po kilku (w Twoim przypadku 3) próbach nie uda się wykonać akcji bez rzucenia tego wyjątku, to zostanie on rzucony
Komentarz usunięty przez autora