방법: 계측할 Web.Config 파일 수정 및 동적으로 컴파일된 ASP.NET 웹 응용 프로그램 프로파일링How to: Modify Web.Config Files to Instrument and Profile Dynamically Compiled ASP.NET Web Applications

Visual StudioVisual Studio 프로파일링 도구 계측 방법을 사용하여 동적으로 컴파일된 ASP.NETASP.NET 웹 응용 프로그램에서 세부 타이밍 데이터, .NET 메모리 할당 데이터 및 .NET 개체 수명 데이터를 수집할 수 있습니다.You can use the Visual StudioVisual Studio Profiling Tools instrumentation method to collect detailed timing data, .NET memory allocation data, and .NET object lifetime data from dynamically compiled ASP.NETASP.NET Web applications.

이 항목에서는 web.config 구성 파일을 수정하여 ASP.NETASP.NET 웹 응용 프로그램의 계측 및 프로파일링을 사용하도록 설정하는 방법을 설명합니다.This topic describes how to modify the web.config configuration file to enable the instrumentation and profiling of ASP.NETASP.NET Web applications.

참고

샘플링 프로파일링 방법을 사용할 경우 또는 미리 컴파일된 ASP.NETASP.NET 모듈을 계측하고자 할 경우 web.config 파일을 수정할 필요가 없습니다.You are not required to modify the web.config file when you use the sampling profiling method, or when you want to instrument a pre-compiled ASP.NETASP.NET module.

web.config 파일의 루트는 configuration 요소입니다.The root of a web.config file is the configuration element. 동적으로 컴파일된 ASP.NETASP.NET 웹 응용 프로그램을 계측 및 프로파일링하려면 다음 요소를 추가하거나 수정해야 합니다.To instrument and profile a dynamically compiled ASP.NETASP.NET Web application, you must add or modify the following elements:

  • configuration/runtime/assemblyBinding/dependentAssembly 요소 - 프로파일링을 제어하는 Microsoft.VisualStudio.Enterprise.ASPNetHelper 어셈블리를 식별합니다.A configuration/runtime/assemblyBinding/dependentAssembly element that identifies the Microsoft.VisualStudio.Enterprise.ASPNetHelper assembly that controls profiling. dependentAssembly 요소에는 두 개의 자식 요소인 assemblyIdentitycodeBase가 포함됩니다.The dependentAssembly element contains two child elements: assemblyIdentity and codeBase.

  • configuration/system.web/compilation 요소 - 대상 어셈블리에 대한 프로파일러 사후 처리 컴파일 단계를 식별합니다.A configuration/system.web/compilation element that identifies the profiler post-process compilation step for the target assembly.

  • 프로파일링 도구의 위치를 식별하는 두 개의 add 요소가 configuration/appSettings 섹션에 추가됩니다.Two add elements that identify the location of the Profiling Tools tools are added to the configuration/appSettings section .

    응용 프로그램 구성을 복원하는 데 사용할 수 있는 원래 web.config 파일의 복사본을 만드는 것이 좋습니다.We recommend that you create a copy of the original web.config file that you can use to restore the configuration of the application.

ASPNetHelper 어셈블리를 configuration/runtime/assemblyBinding/dependentAssembly 요소로 추가하려면To add the ASPNetHelper assembly as a configuration/runtime/assemblyBinding/dependentAssembly element

  1. 필요한 경우 runtime 요소를 configuration 요소의 자식 요소로 추가하고, 그렇지 않으면 다음 단계로 이동합니다.If necessary, add the runtime element as a child element of the configuration element; otherwise, go to the next step.

    runtime 요소에는 특성이 없습니다.The runtime element has no attributes. configuration 요소에는 하나의 runtime 자식 요소만 포함될 수 있습니다.The configuration element can have only one runtime child element.

  2. 필요한 경우 assemblyBinding 요소를 runtime 요소의 자식 요소로 추가하고, 그렇지 않으면 다음 단계로 이동합니다.If necessary, add the assemblyBinding element as a child element of the runtime element; otherwise, go to the next step.

    runtime 요소에는 하나의 assemblyBinding 요소만 포함될 수 있습니다.The runtime element can have only one assemblyBinding element.

  3. 다음 특성 이름 및 값을 assemblyBinding 요소에 추가합니다.Add the following attribute name and value to the assemblyBinding element:

    특성 이름Attribute Name 특성 값Attribute Value
    XmlnsXmlns urn:schemas-microsoft-com:asm.v1urn:schemas-microsoft-com:asm.v1
  4. dependentAssembly 요소를 assemblyBinding 요소의 자식 요소로 추가합니다.Add a dependentAssembly element as a child element of the assemblyBinding element.

    dependentAssembly 요소에는 특성이 없습니다.The dependentAssembly element has no attributes.

  5. assemblyIdentity 요소를 dependentAssembly 요소의 자식으로 추가합니다.Add an assemblyIdentity element as a child of the dependentAssembly element.

  6. 다음 특성 이름 및 값을 assemblyIdentity 요소에 추가합니다.Add the following attribute names and values to the assemblyIdentity element:

    특성 이름Attribute Name 특성 값Attribute Value
    namename Microsoft.VisualStudio.Enterprise.ASPNetHelperMicrosoft.VisualStudio.Enterprise.ASPNetHelper
    PublicKeyTokenPublicKeyToken b03f5f7f11d50a3ab03f5f7f11d50a3a
    cultureculture NeutralNeutral
  7. codeBase 요소를 dependentAssembly 요소의 자식으로 추가합니다.Add a codeBase element as a child of the dependentAssembly element.

  8. 다음 특성 이름 및 값을 codeBase 요소에 추가합니다.Add the following attribute names and values to the codeBase element:

    특성 이름Attribute Name 특성 값Attribute Value
    versionversion 10.0.0.010.0.0.0
    hrefhref PathToASPNetHelperDll

    PathToASPNetHelperDll은 Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll의 파일 URL입니다.PathToASPNetHelperDll is the file URL of the Microsoft.VisualStudio.Enterprise.ASPNetHelper.dll. Visual StudioVisual Studio가 기본 위치에 설치된 경우 href 값은 C:/Program%20Files/Microsoft%20Visual%20Studio%202010.0/Common7/IDE/PrivateAssemblies/Microsoft.VisualStudio.Enterprise.ASPNetHelper.DLL이어야 합니다.If Visual StudioVisual Studio is installed in the default location, the href value should be 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>  

프로파일러 사후 처리 단계를 configuration/system.web/compilation 요소에 추가하려면To add the Profiler post-process step to the configuration/system.web/compilation element

  1. 필요한 경우 system.web 요소를 configuration 요소의 자식 요소로 추가하고, 그렇지 않으면 다음 단계로 이동합니다.If necessary, add the system.web element as a child element of the configuration element; otherwise, go to the next step.

    system.web 요소에는 특성이 없습니다.The system.web element has no attributes. configuration 요소에는 하나의 system.web 자식 요소만 포함될 수 있습니다.The configuration element can have only one system.web child element.

  2. 필요한 경우 compilation 요소를 system.web 요소의 자식 요소로 추가하고, 그렇지 않으면 다음 단계로 이동합니다.If necessary, add the compilation element as a child element of the system.web element; otherwise, go to the next step.

    system.web 요소에는 하나의 compilation 자식 요소만 포함될 수 있습니다.The system.web element can have only one compilation child element.

  3. compilation 요소에서 기존 특성을 제거하고 다음 특성 이름 및 값을 추가합니다.Remove any existing attributes from the compilation element, and add the following attribute name and value:

    특성 이름Attribute Name 특성 값Attribute Value
    assemblyPostProcessorTypeassemblyPostProcessorType Microsoft.VisualStudio.Enterprise.Common.AspPerformanceInstrumenter, Microsoft.VisualStudio.Enterprise.ASPNetHelper, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3aMicrosoft.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>  

configuration/appSettings 요소에 프로파일러 위치 설정을 추가하려면To add Profiler location settings to the configuration/appSettings element

  1. 필요한 경우 appSettings 요소를 configuration 요소의 자식 요소로 추가하고, 그렇지 않으면 다음 단계로 이동합니다.If necessary, add the appSettings element as a child element of the configuration element; otherwise, go to the next step.

    appSettings 요소에는 특성이 없습니다.The appSettings element has no attributes. configuration 요소에는 하나의 appSettings 자식 요소만 포함될 수 있습니다.The configuration element can have only one appSettings child element.

  2. add 요소를 appSettings 요소의 자식으로 추가합니다.Add an add element as a child of the appSettings element.

  3. 다음 특성 이름 및 값을 add 요소에 추가합니다.Add the following attribute names and values to the add element:

    특성 이름Attribute Name 특성 값Attribute Value
    keykey Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocationMicrosoft.VisualStudio.Enterprise.AspNetHelper.VsInstrLocation
    valuevalue PerformanceToolsFolder \VSInstr.ExePerformanceToolsFolder \VSInstr.Exe
  4. 또 다른 add 요소를 appSettings 요소의 자식으로 추가합니다.Add another add element as a child of the appSettings element.

  5. 다음 특성 이름 및 값을 add 요소에 추가합니다.Add the following attribute names and values to this add element:

    특성 이름Attribute Name 특성 값Attribute Value
    keykey Microsoft.VisualStudio.Enterprise.AspNetHelper.VsInstrToolsMicrosoft.VisualStudio.Enterprise.AspNetHelper.VsInstrTools
    valuevalue PerformanceToolsFolder

    PerformanceToolsFolder는 프로파일러 실행 파일의 경로입니다.PerformanceToolsFolder is the path of the profiler executable files. Visual StudioVisual Studio가 기본 위치에 설치되면 값은 C:\Program Files\Microsoft Visual Studio 10.0\Team Tools\Performance Tools가 됩니다.If Visual StudioVisual Studio is installed in the default location, the value will be 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>  

예제Example

동적으로 컴파일된 ASP.NETASP.NET 웹 응용 프로그램의 계측 및 프로파일링을 사용하도록 설정하는 전체 web.config 파일은 다음과 같습니다.The following is a complete web.config file that enables the instrumentation and profiling of dynamically compiled ASP.NETASP.NET Web applications. 이 예제에서는 수정하기 전에 파일에 다른 설정이 없었다고 가정합니다.This example assumes that there were no other settings in the file before modification.

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

참고 항목See Also

방법: 동적으로 컴파일된 ASP.NET 응용 프로그램 계측 및 자세한 타이밍 데이터 수집 How to: Instrument a Dynamically Compiled ASP.NET Application and Collect Detailed Timing Data
방법: 동적으로 컴파일된 ASP.NET 응용 프로그램 계측 및 메모리 데이터 수집How to: Instrument a Dynamically Compiled ASP.NET Application and Collect Memory Data