877 messaggi dal 11 febbraio 2013
Un suggerimento

usando iTextSharp per creare un report dove ci sono immagini debbo verificare se queste esistono
cosi dato che la possibilità che non ci siano è remota ho deciso di usare un try/catch

try  
                {
                    image  = iTextSharp.text.Image.GetInstance(path);
                }
                catch (Exception ex) 
                {
                    if(ex.HResult==-2147024894)
                    image = iTextSharp.text.Image.GetInstance(Path.Combine(_hosting.ContentRootPath, "wwwroot/assets/images/NoImage.jpg"));
                }


Volevo essere piu specifico nel catch e intercettare solo FileNotFound ma l'errore non viene gestito
cosi ho provato con WebException e l'errore viene gestito

Percui fare cosi è corretto?



catch (WebException) 
                {
                   
                    image = iTextSharp.text.Image.GetInstance(Path.Combine(_hosting.ContentRootPath, "wwwroot/assets/images/NoImage.jpg"));
                }
11.796 messaggi dal 09 febbraio 2002
Contributi
Ciao,

cosi dato che la possibilità che non ci siano è remota ho deciso di usare un try/catch

Trattandosi di internet, tieni presente che ti tanto in tanto possono verificarsi degli errori transienti, per esempio problemi temporanei di connettività nell'ottenere un'immagine che esiste.

Se vuoi avere un maggior controllo sulle richieste web, potresti usare HttpClient per scaricare l'immagine in locale, in una directory temporanea. In questo modo potrai esaminare meglio lo status code della risposta o attuare una strategia di retry come vedi qui.
https://www.aspitalia.com/script/1295/Impostare-Policy-Retry-Polly-IHttpClientFactory-ASP.NET-Core-2.1.aspx


Percui fare cosi è corretto?

Puoi anche decidere di lasciare tutto così com'è e usare l'HttpClient solo se i problemi dovessero manifestarsi di frequente. Valuta tu in base al tempo/budget che hai a disposizione e alla criticità effettiva della questione.

ciao,
Moreno

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.