Violazione di accesso quando si utilizza un gestore di sezione di configurazione personalizzato in un'applicazione ASP.NET in situazioni di carico

Traduzione articoli Traduzione articoli
Identificativo articolo: 307513 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Questo articolo si riferisce ai seguenti spazi dei nomi delle librerie di classi di Microsoft .NET Framework:
  • System.Configuration
Espandi tutto | Chiudi tutto

Sintomi

Se un'applicazione ASP.NET utilizza un gestore di sezione di configurazione personalizzato, eccezione first chance di tipo di violazione di accesso può verificarsi in aspnet_wp.exe del processo (o w3wp.exe, foran applicazione eseguita in Microsoft Internet Information Services [IIS] 6.0) quando l'applicazione ASP.NET è in condizioni di stress.

Cause

Questo problema può verificarsi quando più thread accedono allo stesso oggetto configurazione contemporaneamente se l'implementazione dell'interfaccia IConfigurationSectionHandler non è thread-safe e senza informazioni sullo stato o se l'oggetto che restituisce il metodo create non è thread-safe e non modificabile.

Risoluzione

Quando si crea un gestore di sezione di configurazione ASP.NET personalizzato, è necessario utilizzare le linee guida riportate di seguito quando si implementa l'interfaccia IConfigurationSectionHandler :
  • Le istanze della classe che implementano l'interfaccia IConfigurationSectionHandler devono essere thread-safe e senza informazioni sullo stato.
  • L'oggetto che restituisce il metodo IConfigurationSectionHandler.Create deve essere thread-safe e non modificabile.
  • Non modificare l'argomento padre nel metodo IConfigurationSectionHandler.Create .

Status

Questo comportamento legato alla progettazione.

Informazioni

Le istanze di IConfigurationSectionHandler devono essere thread-safe e senza informazioni sullo stato. È necessario chiamare il metodo di IConfigurationSectionHandler.Create da più thread contemporaneamente.

Inoltre, l'oggetto di configurazione che genera IConfigurationSectionHandler.Create deve essere thread-safe e non modificabile. Poiché il sistema di configurazione memorizza nella cache gli oggetti di configurazione, è importante che non modificare l'argomento "padre" in IConfigurationSectionHandler.Create . Ad esempio, se il valore restituito di IConfigurationSectionHandler.Create è solo una modifica piccola del "padre", è necessario modificare un clone del "padre," non l'originale.

Riferimenti

Per ulteriori informazioni su ASP.NET configurazione, fare clic sui seguenti numeri per visualizzare gli articoli della Microsoft Knowledge Base riportato di seguito:
307626Cenni preliminari su configurazione ASP.NET
309045Come creare un gestore personalizzato della sezione di configurazione ASP.NET in Visual C# .NET

Proprietà

Identificativo articolo: 307513 - Ultima modifica: lunedì 24 febbraio 2014 - Revisione: 3.3
Le informazioni in questo articolo si applicano a:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft .NET Framework 1.1
Chiavi: 
kbnosurvey kbarchive kbmt kbconfig kbhttphandlers kbhttpruntime kbprb kbreadme KB307513 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 307513
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com