Aggiunto HtmlCacheService per caching e rate limiting

Introdotto un servizio centralizzato (`HtmlCacheService`) per gestire richieste HTTP con:
- Cache HTML (5 minuti) per ridurre richieste duplicate.
- Rate limiting (max 5 richieste/sec) e concorrenza limitata (3 richieste parallele).
- Retry automatico (max 2 tentativi) e timeout configurabile (15s).
- Logging dettagliato per cache hit, retry e richieste fallite.

Aggiornati i metodi di caricamento dei nomi e delle informazioni prodotto per utilizzare il nuovo servizio, migliorando caching, gestione degli errori e decodifica delle entità HTML.

Aggiunto supporto per il recupero automatico dei nomi generici delle aste e un timer per la pulizia periodica della cache.

Documentato il servizio in `FEATURE_HTML_CACHE_SERVICE.md`. Correzioni minori e miglioramenti alla leggibilità del codice.
This commit is contained in:
2025-11-27 12:24:09 +01:00
parent df9b63dd41
commit 95018e0d65
7 changed files with 1027 additions and 46 deletions
+3 -3
View File
@@ -1,4 +1,4 @@
<UserControl x:Class="AutoBidder.Controls.AuctionMonitorControl"
<UserControl x:Class="AutoBidder.Controls.AuctionMonitorControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
@@ -71,7 +71,7 @@
FontSize="13"
Margin="0,0,5,0"/>
<!-- ?? StackPanel per includere indicatore limite -->
<!-- 🎯 StackPanel per includere indicatore limite -->
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="RemainingBidsText"
Text="0"
@@ -80,7 +80,7 @@
FontWeight="Bold"
Margin="0,0,0,0"/>
<!-- ?? Indicatore limite minimo puntate (solo numero tra parentesi) -->
<!-- 🎯 Indicatore limite minimo puntate (solo numero tra parentesi) -->
<TextBlock x:Name="MinBidsLimitIndicator"
Text="(20)"
FontSize="13"