Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
A partire da .NET 11, IStartupValidator è obsoleto. Quando si fa riferimento o si implementa questa interfaccia, il compilatore genera un avviso SYSLIB0066 con il messaggio Implement IAsyncStartupValidator instead. L'interfaccia rimane disponibile e funzionale per la compatibilità.
Motivo dell'obsoletione
L'avvio dell'host ha un punto di ingresso asincrono tramite StartAsync. I nuovi validator di avvio personalizzati devono usare IAsyncStartupValidator. Il contratto ValidateAsync asincrono significa che le implementazioni asincrone non devono fornire un metodo Validate sincrono inutilizzato. Le due interfacce sono indipendenti.
Workaround
Per eseguire la migrazione di un validator di avvio personalizzato, implementare e registrare IAsyncStartupValidator . Usare operazioni asincrone in ValidateAsync quando la convalida lo richiede e inoltrare il token di annullamento. Registrare l'implementazione solo come contratto di convalida all'avvio fornito; non registrarla sia in IStartupValidator che in IAsyncStartupValidator.
Le applicazioni che chiamano solo OptionsBuilder<TOptions>.ValidateOnStart() e non implementano direttamente un'interfaccia di convalida di avvio non devono in genere modificare il codice.
Eliminare un avviso
Se è necessario usare l'interfaccia obsoleta, è possibile sopprimere l'avviso nel codice o nel file di progetto.
Per sopprimere una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.
#pragma warning disable SYSLIB0066
// Code that uses the obsolete interface.
#pragma warning restore SYSLIB0066
Per eliminare tutti gli SYSLIB0066 avvisi nel progetto, aggiungere una <NoWarn> proprietà al file di progetto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<NoWarn>$(NoWarn);SYSLIB0066</NoWarn>
</PropertyGroup>
</Project>
Per altre informazioni, vedere Eliminare gli avvisi.