Potrebbe capire che durante la scrittura di un componente che debba wrappare la logica di una serie di chiamate HTTP, la comunicazione con tale host venga messa in sicurezza dal protocollo HTTPS e di conseguenza da un certificato digitale. Quello che può capire, è che il certificato sia di prova e non valido.

Questa tipologia di errore causa un blocco, ed eventualmente un'eccezione, da parte di tutte le nostre richieste HTTPS verso tale URI. Per risolvere questo problema e quindi ignorare questo errore di certificato, non ci basta che affidarci all'oggetto ServicePointManager, che tramite un event handler associato alla proprietà ServerCertificateValidationCallback, ci permette di gestire questo scenario.
Come possiamo vedere dallo snippet di codice sotto riportato, ci è sufficiente restituire il valore true all'interno del corpo della funzione.
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, error) => { return true; };
Il punto di forza della classe ServicePointManager è la semplicità di utilizzo: infatti, ci basta ripotare una singola volta questo piccolo snippet di codice in una zona di avvio della nostra applicazione. nel caso specifico di applicazioni WinRT, va fatto all'interno del file App.xaml.cs, per far sì che abbia scope globale all'interno del nostro progetto.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Blazor: Forms
Utilizzare EF Core Power Tools per effettuare il reverse engineer di un database
Validare una pipeline YAML senza eseguirla in Azure DevOps
Azure loves Docker: non solo AKS
Utilizzare gli operatori di RxJS per gestire operazioni asincrone con Javascript e TypeScript
Creare layout consistenti grazie al Visual Material in Xamarin Forms
Disabilitare Ivy in applicazioni Angular 9
Creare un component che renderizza una lista in JSX
Welcome to #GlobalAzure
Introduzione a Microsoft Bot Framework
Modificare il layout della paginazione del controllo CarouselView in Xamarin Forms
Condividere una variabile tra job in una pipeline YAML di Azure DevOps