2015-07-01 21 views
7

Sembra che AppContext contenga solo una proprietà denominata BaseDirectory. Ma la classe Environment sembra avere molte più proprietà e metodi.Quando è necessario utilizzare System.AppContext?

Quindi la classe AppContext è stata sostituita dalla classe Environment ora?

+0

Una buona domanda, cosa succede se risolvo il servizio tramite un IoC come Unity, questo contesto sarà ancora accessibile attraverso le librerie, in caso affermativo come viene gestito. – Saravanan

+0

Inoltre, come può essere utilizzato questo appcontext quando i servizi vengono forniti dietro un servizio di bilanciamento del carico? – Saravanan

risposta

7

AppContext è stato introdotto con .NET 4.6 pertanto non verrà sostituito.

MSDN dice:

AppContext è una nuova funzionalità di compatibilità che permette scrittori biblioteca per fornire un meccanismo di opt-out uniforme per nuove funzionalità per i loro utenti. Stabilito un contratto con parti separate tra i componenti in ordine per comunicare una richiesta di opt-out. Questa capacità è in genere importante quando viene apportata una modifica alla funzionalità esistente. Al contrario, esiste già un opt-in implicito per nuove funzionalità.

Con AppContext, le librerie definiscono ed espongono le opzioni di compatibilità, mentre il codice che dipende da esse può impostare tali parametri, per influire sul comportamento della libreria . Per impostazione predefinita le librerie forniscono la nuova funzionalità e la modificano solo (ad esempio forniscono il vecchio comportamento) se lo switch è impostato su .

In breve, fornisce functionallity per gestire più versioni della stessa dll.

L'esempio di codice è all'interno del collegamento fornito.

Problemi correlati