ngovuamature
New member
#Polly #C ##Reactive Lập trình #asynchronous Lập trình #Error Xử lý ## Tự động hóa công việc với Polly trong lập trình C #
Polly là một thư viện C# cung cấp một số tính năng để xử lý các lỗi và các hoạt động không đồng bộ.Nó có thể được sử dụng để:
*** Thử lại các hoạt động thất bại: ** Polly có thể tự động thử lại các hoạt động thất bại một số lần được chỉ định, với backoff theo cấp số nhân.Điều này có thể giúp đảm bảo rằng các ứng dụng của bạn có khả năng phục hồi các lỗi thoáng qua.
*** Bộ ngắt mạch: ** Polly có thể được sử dụng để tạo bộ ngắt mạch, điều này có thể ngăn chặn các ứng dụng của bạn bị choáng ngợp bởi quá nhiều yêu cầu thất bại.
*** Thời gian chờ: ** Polly có thể được sử dụng để đặt thời gian chờ cho các hoạt động, điều này có thể giúp ngăn chặn các ứng dụng của bạn treo vô thời hạn.
*** Dự phòng: ** Polly có thể được sử dụng để cung cấp dự phòng cho các hoạt động không thành công, điều này có thể giúp giữ cho các ứng dụng của bạn chạy ngay cả khi một số phần trong số chúng không có sẵn.
Polly là một công cụ mạnh mẽ có thể giúp bạn làm cho các ứng dụng C# của bạn có khả năng phục hồi và đáng tin cậy hơn.Nó rất dễ sử dụng và có thể được tích hợp với nhiều khung và thư viện khác.
### Ví dụ
Mã sau đây cho thấy cách sử dụng Polly để thử lại một thao tác thất bại Một số lần được chỉ định:
`` `C#
sử dụng Polly;
Nhiệm vụ Async công khai <Int> getAsync ()
{
thử
{
// Làm cho yêu cầu mạng
var trả lời = Await client.getAsync ("Example Domain");
// Trả lại cơ thể phản hồi
Trả về phản hồi.Content.ReadassTringAsync (). Kết quả;
}
Catch (Exception Ex)
{
// thử lại hoạt động
Trả lại Await Realasync (Ex);
}
}
Nhiệm vụ Async riêng tư <Int> retryasync (Exception Ex)
{
// Chờ một khoảng thời gian ngẫu nhiên trước khi thử lại
Await Task.Delay (TimesPan.FromSeconds (Math.Pow (2, Random.next (5))));
// thử lại thao tác
Trả lại đang chờ getasync ();
}
`` `
### Người giới thiệu
* [Tài liệu Polly] (https://github.com/appveyor/polly/blob/master/readme.md)
* [Polly trên Stack Overflow] (Newest 'polly' Questions)
* [Polly trên github] (https://github.com/appveyor/polly)
=======================================
#Polly #C# #Reactive programming #asynchronous programming #Error handling ## Automation of work with Polly in C# programming
Polly is a C# library that provides a number of features for handling errors and asynchronous operations. It can be used to:
* **Retry failed operations:** Polly can automatically retry failed operations a specified number of times, with exponential backoff. This can help to ensure that your applications are resilient to transient errors.
* **Circuit breaker:** Polly can be used to create circuit breakers, which can prevent your applications from being overwhelmed by too many failed requests.
* **Timeouts:** Polly can be used to set timeouts for operations, which can help to prevent your applications from hanging indefinitely.
* **Fallbacks:** Polly can be used to provide fallbacks for operations that fail, which can help to keep your applications running even when some parts of them are unavailable.
Polly is a powerful tool that can help you to make your C# applications more resilient and reliable. It is easy to use and can be integrated with a variety of other frameworks and libraries.
### Example
The following code shows how to use Polly to retry a failed operation a specified number of times:
```c#
using Polly;
public async Task<int> GetAsync()
{
try
{
// Make the network request
var response = await client.GetAsync("Example Domain");
// Return the response body
return response.Content.ReadAsStringAsync().Result;
}
catch (Exception ex)
{
// Retry the operation
return await RetryAsync(ex);
}
}
private async Task<int> RetryAsync(Exception ex)
{
// Wait for a random amount of time before retrying
await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, random.Next(5))));
// Try the operation again
return await GetAsync();
}
```
### References
* [Polly documentation](https://github.com/AppVeyor/Polly/blob/master/README.md)
* [Polly on Stack Overflow](https://stackoverflow.com/questions/tagged/polly)
* [Polly on GitHub](https://github.com/AppVeyor/Polly)
Polly là một thư viện C# cung cấp một số tính năng để xử lý các lỗi và các hoạt động không đồng bộ.Nó có thể được sử dụng để:
*** Thử lại các hoạt động thất bại: ** Polly có thể tự động thử lại các hoạt động thất bại một số lần được chỉ định, với backoff theo cấp số nhân.Điều này có thể giúp đảm bảo rằng các ứng dụng của bạn có khả năng phục hồi các lỗi thoáng qua.
*** Bộ ngắt mạch: ** Polly có thể được sử dụng để tạo bộ ngắt mạch, điều này có thể ngăn chặn các ứng dụng của bạn bị choáng ngợp bởi quá nhiều yêu cầu thất bại.
*** Thời gian chờ: ** Polly có thể được sử dụng để đặt thời gian chờ cho các hoạt động, điều này có thể giúp ngăn chặn các ứng dụng của bạn treo vô thời hạn.
*** Dự phòng: ** Polly có thể được sử dụng để cung cấp dự phòng cho các hoạt động không thành công, điều này có thể giúp giữ cho các ứng dụng của bạn chạy ngay cả khi một số phần trong số chúng không có sẵn.
Polly là một công cụ mạnh mẽ có thể giúp bạn làm cho các ứng dụng C# của bạn có khả năng phục hồi và đáng tin cậy hơn.Nó rất dễ sử dụng và có thể được tích hợp với nhiều khung và thư viện khác.
### Ví dụ
Mã sau đây cho thấy cách sử dụng Polly để thử lại một thao tác thất bại Một số lần được chỉ định:
`` `C#
sử dụng Polly;
Nhiệm vụ Async công khai <Int> getAsync ()
{
thử
{
// Làm cho yêu cầu mạng
var trả lời = Await client.getAsync ("Example Domain");
// Trả lại cơ thể phản hồi
Trả về phản hồi.Content.ReadassTringAsync (). Kết quả;
}
Catch (Exception Ex)
{
// thử lại hoạt động
Trả lại Await Realasync (Ex);
}
}
Nhiệm vụ Async riêng tư <Int> retryasync (Exception Ex)
{
// Chờ một khoảng thời gian ngẫu nhiên trước khi thử lại
Await Task.Delay (TimesPan.FromSeconds (Math.Pow (2, Random.next (5))));
// thử lại thao tác
Trả lại đang chờ getasync ();
}
`` `
### Người giới thiệu
* [Tài liệu Polly] (https://github.com/appveyor/polly/blob/master/readme.md)
* [Polly trên Stack Overflow] (Newest 'polly' Questions)
* [Polly trên github] (https://github.com/appveyor/polly)
=======================================
#Polly #C# #Reactive programming #asynchronous programming #Error handling ## Automation of work with Polly in C# programming
Polly is a C# library that provides a number of features for handling errors and asynchronous operations. It can be used to:
* **Retry failed operations:** Polly can automatically retry failed operations a specified number of times, with exponential backoff. This can help to ensure that your applications are resilient to transient errors.
* **Circuit breaker:** Polly can be used to create circuit breakers, which can prevent your applications from being overwhelmed by too many failed requests.
* **Timeouts:** Polly can be used to set timeouts for operations, which can help to prevent your applications from hanging indefinitely.
* **Fallbacks:** Polly can be used to provide fallbacks for operations that fail, which can help to keep your applications running even when some parts of them are unavailable.
Polly is a powerful tool that can help you to make your C# applications more resilient and reliable. It is easy to use and can be integrated with a variety of other frameworks and libraries.
### Example
The following code shows how to use Polly to retry a failed operation a specified number of times:
```c#
using Polly;
public async Task<int> GetAsync()
{
try
{
// Make the network request
var response = await client.GetAsync("Example Domain");
// Return the response body
return response.Content.ReadAsStringAsync().Result;
}
catch (Exception ex)
{
// Retry the operation
return await RetryAsync(ex);
}
}
private async Task<int> RetryAsync(Exception ex)
{
// Wait for a random amount of time before retrying
await Task.Delay(TimeSpan.FromSeconds(Math.Pow(2, random.Next(5))));
// Try the operation again
return await GetAsync();
}
```
### References
* [Polly documentation](https://github.com/AppVeyor/Polly/blob/master/README.md)
* [Polly on Stack Overflow](https://stackoverflow.com/questions/tagged/polly)
* [Polly on GitHub](https://github.com/AppVeyor/Polly)