Cómo: Modificar archivos web.config para instrumentar y generar perfiles de aplicaciones web ASP.NET compiladas dinámicamente
Puede utilizar el método de instrumentación de las herramientas de generación de perfiles de Visual Studio para recopilar datos detallados de tiempo, datos de asignación de memoria de .NET y datos de duración de objetos de .NET en aplicaciones web ASP.NET compiladas dinámicamente.
En este tema se describe cómo modificar el archivo de configuración web.config para habilitar la instrumentación y la generación de perfiles de aplicaciones web ASP.NET.
Nota
No necesita modificar el archivo web.config si usa el método de generación de perfiles mediante muestreo o si desea instrumentar un módulo ASP.NET precompilado.
El elemento raíz de un archivo web.config es el elemento configuration. Para instrumentar y generar perfiles de una aplicación web ASP.NET compilada dinámicamente, debe agregar o modificar los elementos siguientes:
Un elemento configuration/runtime/assemblyBinding/dependentAssembly que identifica el ensamblado Microsoft.VisualStudio.Enterprise.ASPNetHelper que controla la generación de perfiles. El elemento dependentAssembly contiene dos elementos secundarios: assemblyIdentity y codeBase.
Un elemento configuration/system.web/compilation que identifica el paso de compilación posterior al proceso del generador de perfiles para el ensamblado de destino.
Dos elementos add que identifican la ubicación de las herramientas de generación de perfiles se agregan a la sección configuration/appSettings.
Se recomienda crear una copia del archivo web.config original que puede utilizar para restaurar la configuración de la aplicación.
Para agregar el ensamblado ASPNetHelper como un elemento configuration/runtime/assemblyBinding/dependentAssembly
Si es necesario, agregue el elemento runtime como un elemento secundario del elemento configuration; de lo contrario, vaya al paso siguiente.
El elemento runtime no tiene atributos. El elemento configuration solamente puede tener un elemento secundario runtime.
Si es necesario, agregue el elemento assemblyBinding como un elemento secundario del elemento runtime; de lo contrario, vaya al paso siguiente.
El elemento runtime solamente puede tener un elemento assemblyBinding.
Agregue el siguiente nombre y valor de atributo al elemento assemblyBinding:
Nombre de atributo
Valor de atributo
Xmlns
urn:schemas-microsoft-com:asm.v1
Agregue un elemento dependentAssembly como elemento secundario del elemento assemblyBinding.
El elemento dependentAssembly no tiene atributos.
Agregue un elemento assemblyIdentity como elemento secundario del elemento dependentAssembly.
Agregue los siguientes nombres y valores de atributo al elemento assemblyIdentity:
Nombre de atributo
Valor de atributo
name
Microsoft.VisualStudio.Enterprise.ASPNetHelper
PublicKeyToken
b03f5f7f11d50a3a
culture
Neutral
Agregue un elemento codeBase como elemento secundario del elemento dependentAssembly.
Agregue los siguientes nombres y valores de atributo al elemento codeBase:
Nombre de atributo
Valor de atributo
version
10.0.0.0
href
PathToASPNetHelperDll
PathToASPNetHelperDll es la dirección URL de archivo Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll. Si Visual Studio se instala en la ubicación predeterminada, el valor de href debe ser 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>
Para agregar el paso posterior al proceso del generador de perfiles al elemento configuration/system.web/compilation
Si es necesario, agregue el elemento system.web como elemento secundario del elemento configuration; de lo contrario, vaya al paso siguiente.
El elemento system.web no tiene atributos. El elemento configuration solamente puede tener un elemento secundario system.web.
Si es necesario, agregue el elemento compilation como elemento secundario del elemento system.web; de lo contrario, vaya al paso siguiente.
El elemento system.web solamente puede tener un elemento secundario compilation.
Quite cualquier atributo existente del elemento compilation y agregue el siguiente nombre y valor de atributo:
Nombre de atributo
Valor de atributo
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>
Para agregar la configuración de ubicación del generador de perfiles al elemento configuration/appSettings
Si es necesario, agregue el elemento appSettings como elemento secundario del elemento configuration; de lo contrario, vaya al paso siguiente.
El elemento appSettings no tiene atributos. El elemento configuration solamente puede tener un elemento secundario appSettings.
Agregue un elemento add como elemento secundario del elemento appSettings.
Agregue los siguientes nombres y valores de atributo al elemento add:
Nombre de atributo
Valor de atributo
key
Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation
value
PerformanceToolsFolder\VSInstr.Exe
Agregue otro elemento add como elemento secundario del elemento appSettings.
Agregue los siguientes nombres y valores de atributo a este elemento add:
Nombre de atributo
Valor de atributo
key
Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools
value
PerformanceToolsFolder
PerformanceToolsFolder es la ruta de acceso de los archivos ejecutables del generador de perfiles. Si Visual Studio se instala en la ubicación predeterminado, el valor será 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>
Ejemplo
A continuación se muestra un archivo web.config completo que habilita la instrumentación y la generación de perfiles de aplicaciones web ASP.NET compiladas dinámicamente. En este ejemplo se supone que no había ninguna otra configuración en el archivo antes de la modificación.
<?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>