Udostępnij za pośrednictwem


Porady: modyfikowanie plików Web.Config w celu instrumentowania i profilowania dynamicznie skompilowanych aplikacji sieci ASP.NET

Można użyć Visual Studio narzędzia profilowania Instrumentacji metody zbierania danych szczegółowych chronometraż.Dane alokacji pamięci netto, i.Obiekt netto okresu istnienia danych z dynamicznie kompilowany ASP.NET aplikacje internetowe.

W tym temacie opisano sposób modyfikowania pliku konfiguracyjnym web.config umożliwiające oprzyrządowanie i profilowanie z ASP.NET aplikacje internetowe.

[!UWAGA]

Nie trzeba zmodyfikować plik web.config użycia profilowania metody pobierania próbek lub instrument wstępnie skompilowanego ASP.NET modułu.

Główny plik web.config jest configuration element.Instrument i profilu dynamicznie kompilowanych ASP.NET sieci Web aplikacji, należy dodać lub zmodyfikować następujące elementy:

  • A configuration/runtime/assemblyBinding/dependentAssembly element, który identyfikuje zestaw Microsoft.VisualStudio.Enterprise.ASPNetHelper, który kontroluje profilowania.dependentAssembly Element zawiera dwa elementy podrzędne: assemblyIdentity i codeBase.

  • A configuration/system.web/compilation element, który identyfikuje etap kompilacji samodzielny profiler dla zestawu docelowego.

  • Dwa add elementów, które identyfikują lokalizację narzędzia profilowania narzędzia są dodawane do configuration/appSettings sekcji.

Zaleca się, że zostanie utworzona kopia oryginalnego pliku web.config, którego można użyć do przywrócenia konfigurację aplikacji.

Aby dodać zestaw ASPNetHelper jako element konfiguracji/runtime/assemblyBinding/dependentAssembly.

  1. Jeśli to konieczne, dodać runtime element jako element podrzędny z configuration element; w przeciwnym razie przejdź do następnego kroku.

    runtime Element nie posiada żadnych atrybutów.configuration Element może mieć tylko jeden runtime element podrzędny.

  2. Jeśli to konieczne, dodać assemblyBinding element jako element podrzędny z runtime element; w przeciwnym razie przejdź do następnego kroku.

    runtime Element może mieć tylko jeden assemblyBinding element.

  3. Dodaj następującą nazwę atrybutu i wartości do assemblyBinding element:

    Nazwa atrybutu

    Wartość atrybutu

    Xmlns

    urn:schemas-microsoft-com:asm.v1

  4. Dodaj dependentAssembly element jako element podrzędny z assemblyBinding element.

    dependentAssembly Element nie posiada żadnych atrybutów.

  5. Dodaj assemblyIdentity element jako element podrzędny dependentAssembly element.

  6. Dodaj następujący atrybut nazwy i wartości do assemblyIdentity element:

    Nazwa atrybutu

    Wartość atrybutu

    name

    Microsoft.VisualStudio.Enterprise.ASPNetHelper

    PublicKeyToken

    b03f5f7f11d50a3a

    culture

    Neutral

  7. Dodaj codeBase element jako element podrzędny dependentAssembly element.

  8. Dodaj następujący atrybut nazwy i wartości do codeBase element:

    Nazwa atrybutu

    Wartość atrybutu

    version

    10.0.0.0

    href

    PathToASPNetHelperDll

    PathToASPNetHelperDlljest adres URL pliku Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll.Jeśli Visual Studio jest zainstalowany w lokalizacji domyślnej href wartość powinna być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>

Aby dodać kroku samodzielny Profiler do elementu configuration/system.web/compilation

  1. Jeśli to konieczne, dodać system.web element jako element podrzędny z configuration element; w przeciwnym razie przejdź do następnego kroku.

    system.web Element nie posiada żadnych atrybutów.configuration Element może mieć tylko jeden system.web element podrzędny.

  2. Jeśli to konieczne, dodać compilation element jako element podrzędny z system.web element; w przeciwnym razie przejdź do następnego kroku.

    system.web Element może mieć tylko jeden compilation element podrzędny.

  3. Usuń wszystkie istniejące atrybuty z compilation element i Dodaj następujący atrybut nazwy i wartości:

    Nazwa atrybutu

    Wartość atrybutu

    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>

Aby dodać ustawienia lokalizacji Profiler do elementu konfiguracji/appSettings.

  1. Jeśli to konieczne, dodać appSettings element jako element podrzędny z configuration element; w przeciwnym razie przejdź do następnego kroku.

    appSettings Element nie posiada żadnych atrybutów.configuration Element może mieć tylko jeden appSettings element podrzędny.

  2. Dodaj add element jako element podrzędny appSettings element.

  3. Dodaj następujący atrybut nazwy i wartości do add element:

    Nazwa atrybutu

    Wartość atrybutu

    key

    Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation

    value

    PerformanceToolsFolder\VSInstr.Exe

  4. Dodać kolejne add element jako element podrzędny appSettings element.

  5. Dodaj następujący atrybut nazwy i wartości tej add element:

    Nazwa atrybutu

    Wartość atrybutu

    key

    Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools

    value

    PerformanceToolsFolder

    PerformanceToolsFolderjest ścieżką profiler plików wykonywalnych.Jeśli Visual Studio jest zainstalowany w lokalizacji domyślnej będzie wartość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>

Przykład

Poniżej znajduje się plik web.config kompletne, umożliwiający oprzyrządowanie i profilowanie z dynamicznie kompilowanych ASP.NET aplikacje internetowe.W tym przykładzie założono, że były inne ustawienia w pliku przed modyfikacji.

<?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>

Zobacz też

Zadania

Porady: instrumentacja dynamicznie skompilowanej aplikacji sieci Web ASP.NET i zbieranie szczegółowych danych o chronometrażu przy użyciu wiersza polecenia profilera

Porady: instrumentacja dynamicznie skompilowanej aplikacji sieci Web ASP.NET i zbieranie danych pamięci przy użyciu wiersza polecenia profilera