Condividi tramite


Procedura: modificare file Web.Config per instrumentare e profilare applicazioni Web ASP.NET compilate dinamicamente

È possibile utilizzare il metodo di strumentazione degli strumenti di profilatura di Visual Studio per raccogliere dati di intervallo dettagliati, di allocazione di memoria .NET e di durata dell'oggetto .NET da applicazioni Web di ASP.NET compilate in modo dinamico.

In questo argomento viene descritto come modificare il file di configurazione web.config per abilitare la strumentazione e il profilo delle applicazioni Web ASP.NET.

[!NOTA]

Non è necessario modificare il file web.config quando si utilizza il metodo di profilo campione o quando si desidera instrumentare un modulo ASP.NET precompilato.

La radice di un file web.config è l'elemento configuration.Per instrumentare ed eseguire il profilo di un'applicazione Web ASP.NET compilata in modo dinamico, è necessario aggiungere o modificare gli elementi seguenti:

  • Elemento configuration/runtime/assemblyBinding/dependentAssembly che identifica l'assembly Microsoft.VisualStudio.Enterprise.ASPNetHelper che controlla il profilo.L'elemento dependentAssembly contiene i due elementi figlio assemblyIdentity e codeBase.

  • Un elemento configuration/system.web/compilation che identifica il passaggio di compilazione successivo al processo del profiler per l'assembly di destinazione.

  • Due elementi add che identificano il percorso degli strumenti di profilatura aggiunti alla sezione configuration/appSettings.

Si consiglia di creare una copia del file web.config originale da utilizzare per ripristinare la configurazione dell'applicazione.

Per aggiungere l'assembly ASPNetHelper come elemento configuration/runtime/assemblyBinding/dependentAssembly

  1. Se necessario, aggiungere l'elemento runtime come elemento figlio dell'elemento configuration; in caso contrario, andare al passaggio successivo.

    L'elemento runtime non contiene attributi.L'elemento configuration può avere un solo elemento runtime figlio.

  2. Se necessario, aggiungere l'elemento assemblyBinding come elemento figlio dell'elemento runtime; in caso contrario, andare al passaggio successivo.

    L'elemento runtime può avere un solo elemento assemblyBinding figlio.

  3. Aggiungere il valore e il nome di attributo riportati di seguito all'elemento assemblyBinding:

    Nome attributo

    Valore attributo

    Xmlns

    urn:schemas-microsoft-com:asm.v1

  4. Aggiungere un elemento dependentAssembly come elemento figlio dell'elemento assemblyBinding.

    L'elemento dependentAssembly non contiene attributi.

  5. Aggiungere un elemento assemblyIdentity come figlio dell'elemento dependentAssembly.

  6. Aggiungere i valori e i nomi di attributo riportati di seguito all'elemento assemblyIdentity:

    Nome attributo

    Valore attributo

    name

    Microsoft.VisualStudio.Enterprise.ASPNetHelper

    PublicKeyToken

    b03f5f7f11d50a3a

    culture

    Neutral

  7. Aggiungere un elemento codeBase come figlio dell'elemento dependentAssembly.

  8. Aggiungere i valori e i nomi di attributo riportati di seguito all'elemento codeBase:

    Nome attributo

    Valore attributo

    version

    10.0.0.0

    href

    PathToASPNetHelperDll

    PathToASPNetHelperDll è URL di file di Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll.Se Visual Studio viene installato nel percorso predefinito, il valore href sarà C:/Program%20Files/Microsoft%20Visual%20Studio%202010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL

    <configuration>
        <runtime>
            <assemblyBinding 
                xmlns="urn:schemas-microsoft-com:asm.v1"
            >
                <dependentAssembly>
                    <assemblyIdentity                         name="Microsoft.VisualStudio.Enterprise.ASPNetHelper" 
                        publicKeyToken="b03f5f7f11d50a3a"                         culture="neutral" 
                    />
                    <codeBase 
                        version="10.0.0.0"
                        href="file:///C:/Program%20Files/Microsoft%20Visual%20Studio%2010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL" 
                    />
                </dependentAssembly>
            </assemblyBinding>
        </runtime>

Per aggiungere il passaggio successivo al processo del profiler all'elemento configuration/system.web/compilation

  1. Se necessario, aggiungere l'elemento system.web come elemento figlio dell'elemento configuration; in caso contrario, andare al passaggio successivo.

    L'elemento system.web non contiene attributi.L'elemento configuration può avere un solo elemento system.web figlio.

  2. Se necessario, aggiungere l'elemento compilation come elemento figlio dell'elemento system.web; in caso contrario, andare al passaggio successivo.

    L'elemento system.web può avere un solo elemento compilation figlio.

  3. Rimuovere qualsiasi attributo esistente dall'elemento compilation e aggiungere il nome e il valore di attributo seguenti:

    Nome attributo

    Valore attributo

    assemblyPostProcessorType

    Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.ASPNetHelper, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

    <configuration>
        <runtime>
        . . .
        </runtime>
        <system.web>
            <compilation
                assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter,
                    Microsoft.VisualStudio.Enterprise.ASPNetHelper,
                    Version=10.0.0.0,
                    Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
            />
        </system.web>
    <configuration>

Per aggiungere impostazioni del percorso del profiler all'elemento di configuration/appSettings

  1. Se necessario, aggiungere l'elemento appSettings come elemento figlio dell'elemento configuration; in caso contrario, andare al passaggio successivo.

    L'elemento appSettings non contiene attributi.L'elemento configuration può avere un solo elemento appSettings figlio.

  2. Aggiungere un elemento add come figlio dell'elemento appSettings.

  3. Aggiungere i valori e i nomi di attributo riportati di seguito all'elemento add:

    Nome attributo

    Valore attributo

    key

    Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation

    value

    PerformanceToolsFolder\VSInstr.Exe

  4. Aggiungere un altro elemento add come figlio dell'elemento appSettings.

  5. Aggiungere i valori e i nomi di attributo riportati di seguito a questo elemento add:

    Nome attributo

    Valore attributo

    key

    Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools

    value

    PerformanceToolsFolder

    PerformanceToolsFolder è percorso dei file eseguibili del profiler.Se Visual Studio viene installato nel percorso predefinito, il valore sarà C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools

    <configuration>
        <runtime>
        . . .
        </runtime>
        . . .
        <system.web>
        </system.web>
        <appSettings>
            <add
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation"
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\vsinstr.exe"
        />
            <add
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools"
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\"
            />
        </appSettings>
    </configuration>

Esempio

Di seguito viene presentato un file web.config completo che abilita la strumentazione e il profilo delle applicazioni Web ASP.NET compilate dinamicamente.In questo esempio si presuppone che non vi siano state altre impostazioni nel file prima della modifica.

<?xml version="1.0"?>
    <configuration>
        <runtime>
            <assemblyBinding 
                xmlns="urn:schemas-microsoft-com:asm.v1"
            >
                <dependentAssembly>
                    <assemblyIdentity 
                        name="Microsoft.VisualStudio.Enterprise.ASPNetHelper" 
                        publicKeyToken="b03f5f7f11d50a3a"
                        culture="neutral" 
                    />
                    <codeBase 
                        version="10.0.0.0"
                        href="file:///C:/Program%20Files/Microsoft%20Visual%20Studio%2010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL" 
                    />
                </dependentAssembly>
            </assemblyBinding>
        </runtime>
        <system.web>
            <compilation
                assemblyPostProcessorType="Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter,
                    Microsoft.VisualStudio.Enterprise.ASPNetHelper,
                    Version=10.0.0.0,
                    Culture=neutral,
                    PublicKeyToken=b03f5f7f11d50a3a" 
            />
        </system.web>
        <appSettings>
            <add
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation"
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\vsinstr.exe"
            />
            <add
                key="Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools"
                value="C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools\"
            />
        </appSettings>
    </configuration>

Vedere anche

Attività

Procedura: instrumentare un'applicazione Web ASP.NET compilata dinamicamente e raccogliere dati di intervallo dettagliati con il profiler tramite la riga di comando

Procedura: instrumentare un'applicazione Web ASP.NET compilata dinamicamente e raccogliere dati di memoria tramite la riga di comando del profiler