서버측 코드가 처리되지 않으므로 ASP.NET 페이지에 예기치 않은 동작이 발생한다

기술 자료 번역 기술 자료 번역
기술 자료: 325093 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

런타임에 발생하는 현상

Microsoft ASP.NET 웹 응용 프로그램에서 .aspx 페이지를 보면 다음 현상이 발생할 수 있습니다.
  • 브라우저에 빈 페이지가 나타날 수 있습니다.
  • .aspx 페이지를 다운로드하라는 메시지가 나타날 수 있습니다.
일반적으로 나타나는 문제는 .aspx 페이지의 서버측 코드가 처리된 다음 이 코드가 원시 형태로 웹 브라우저에 전달되지 않는 것입니다.

Visual Studio .NET을 사용하여 ASP.NET을 디버깅할 때 발생하는 현상

Microsoft Visual Studio .NET에서 ASP.NET 응용 프로그램을 디버깅하면 다음과 같은 오류 메시지가 나타날 수 있습니다.
프로젝트를 실행하는 동안 오류가 발생했습니다. 웹 서버에서 디버깅을 시작할 수 없습니다. 서버에서 ASP.NET 또는 ATL 서버 응용 프로그램의 디버깅을 지원하지 않습니다. 설치 프로그램을 실행하여 Visual Studio .NET 서버 구성 요소를 설치하십시오. 설치 프로그램이 실행되면 URL이 올바로 지정되었는지 확인하십시오.

온라인 설명서에서 ASP.NET 및 ATL 서버 디버깅 항목을 참조할 수도 있습니다. 이 프로젝트에 대해 ASP.NET 페이지를 디버깅할 수 없도록 하시겠습니까?

원인

Microsoft .NET Framework SDK(Software Development Kit) 또는 Microsoft Visual Studio .NET을 설치하면 Microsoft Internet Information Services(IIS) 매핑이 만들어져 ASP.NET의 새 파일 확장명과 새 설정을 연결합니다.

사용자 환경이 다음 경우 중 하나에 해당되면 새 설정도 그에 맞게 변경됩니다.
  • .NET Framework SDK 또는 Visual Studio .NET 설치 프로그램이 실행될 때 IIS가 설치되어 있지 않았습니다.
  • .NET Framework SDK 설치 프로그램이나 Visual Studio .NET 설치 프로그램을 실행한 후 IIS를 제거했다가 다시 설치했습니다.

해결 방법

이 문제를 해결하려면 IIS 매핑을 복구하여 ASP.NET의 파일 확장명을 제대로 연결합니다. ASP.NET의 IIS 매핑을 수정하는 방법은 다음 두 가지입니다.

ASP.NET의 IIS 매핑을 복구하려면 Aspnet_regiis.exe 유틸리티를 실행합니다. 이렇게 하려면 다음과 같이 하십시오.
  1. 시작을 누르고 실행을 누릅니다.
  2. cmd를 입력한 다음 확인을 누릅니다.
  3. 명령 프롬프트에서 다음 명령을 입력한 후 Enter 키를 누릅니다.
    "\WindowsFolder\Microsoft.NET\Framework\VersionNumber>\aspnet_regiis.exe" -i
    참고? WindowsFolder는 운영 체제가 설치된 디렉터리의 이름으로 바꾸고, VersionNumber는 컴퓨터에 설치된 .NET Framework 버전으로 바꾸십시오.
ASP.NET의 IIS 매핑을 복구하려면 Aspnet_isapi.dll을 등록해야 합니다. 이렇게 하려면 다음과 같이 하십시오.
  1. 시작을 누르고 실행을 누릅니다.
  2. regsvr32 WindowsFolder\Microsoft.NET\Framework\VersionNumber\aspnet_isapi.dll을 입력한 다음 확인을 누릅니다. Regsvr32는 등록 결과를 반환합니다.

현재 상태

이것은 의도적으로 설계된 동작입니다.

추가 정보

문제를 재현하는 방법

다음 단계에 따라 이 문서에서 설명한 문제를 재현할 수 있습니다. 이 테스트를 통해 해당 문제와 관련된 일반적인 현상을 검사합니다. 또한 이미 IIS 응용 프로그램 매핑 작업 방법에 익숙한 경우 이 문서의 "IIS 응용 프로그램 매핑 확인 방법" 절의 단계에 따라 웹 서버의 구성을 확인할 수 있습니다.
  1. ASP.NET 웹 응용 프로그램을 만들려면 Visual Studio .NET을 사용합니다. 이렇게 하려면 다음과 같이 하십시오.
    1. Microsoft Visual Studio .NET을 시작합니다.
    2. 파일 메뉴에서 새로 만들기를 가리킨 다음 프로젝트를 누릅니다.
    3. 새 프로젝트 대화 상자의 프로젝트 형식에서 Visual C# 프로젝트 또는 Visual Basic 프로젝트를 누른 다음 템플릿에서 ASP.NET 웹 응용 프로그램을 누릅니다.
    4. 위치 입력란에서 WebApplication# 기본 이름을 MyWebApp로 바꿉니다. 로컬 서버를 사용하면 http://localhost라는 서버 이름을 그대로 사용할 수 있습니다. 위치 입력란은 다음과 같이 나타납니다.
      http://localhost/MyWebApp
  2. 솔루션 탐색기에서 프로젝트 노드를 마우스 오른쪽 단추로 누르고 추가를 가리킨 다음 Web Form 추가를 누릅니다. Web Form 이름을 MappingsTest.aspx라고 지정한 다음 열기를 누릅니다.
  3. 편집기에서 .aspx 페이지를 마우스 오른쪽 단추로 누른 다음 코드 보기를 누릅니다. 아래 코드를 Page_Load 이벤트 처리기에 추가합니다.

    Visual C# .NET
    private void Page_Load(object sender, System.EventArgs e)
    {
    	Response.Write("This code was executed");
    }
    						
    Visual Basic .NET
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Response.Write("This code was executed")
    End Sub
    					
  4. 파일 메뉴에서 모두 저장을 눌러 Web Form 및 다른 연관된 프로젝트 파일을 저장합니다.
  5. Visual Studio .NET IDE의 빌드 메뉴에서 솔루션 빌드를 누릅니다.
  6. .aspx 페이지를 마우스 오른쪽 단추로 누른 다음 브라우저에서 보기를 누릅니다.
  7. 매핑이 올바르면 브라우저에 이 코드가 실행되었다는 내용의 메시지가 나타납니다. 매핑이 올바르지 않으면 다음 문제 중 하나가 발생합니다.
    • 브라우저에 빈 페이지가 나타납니다.


    • .aspx 페이지를 다운로드하라는 메시지가 나타납니다.
    이 문제는 서버측 코드가 예상한 대로 처리되지 않거나 실행되지 않기 때문에 발생합니다. 두 가지 경우 모두 처리되지 않는 원본 코드를 수신합니다. 빈 페이지가 나타나는 경우 브라우저에서 해당 페이지를 마우스 오른쪽 단추로 누른 다음 소스 보기를 누르면 서버측 코드가 처리되지 않은 형태로 나타납니다. 예를 들어 Visual C# ASP.NET Web Form에서 @ Page 지시문이 다음과 유사하게 나타납니다.
    <%@ Page language="c#" Codebehind="MappingsTest.aspx.cs" AutoEventWireup="false" Inherits="MyWebApp.MappingsTest" %>
    					

IIS 응용 프로그램 매핑을 확인하는 방법

응용 프로그램 매핑이 올바른지 확인하려면 다음과 같이 하십시오.
  1. 시작을 누르고 프로그램, 관리 도구를 차례로 가리킨 다음 인터넷 서비스 관리자를 누릅니다.
  2. 로컬 호스트(컴퓨터 이름)에 해당하는 노드를 확장한 다음 기본 웹 사이트 노드를 확장합니다.
  3. 웹 응용 프로그램 디렉터리를 마우스 오른쪽 단추로 누른 다음 등록 정보를 누릅니다.
  4. 디렉터리 탭의 응용 프로그램 설정에서 구성을 누릅니다.
  5. 응용 프로그램 매핑 탭을 누릅니다.
  6. 응용 프로그램 매핑 탭의 응용 프로그램 매핑에서 .aspx 확장명이 다음 DLL에 매핑되는지 여부를 확인합니다.
    C:\WindowsFolder\Microsoft.Net\Framework\VersionNumber\aspnet_isapi.dll
    참고? WindowsFolder는 운영 체제가 설치된 디렉터리의 이름으로 바꾸고, VersionNumber는 컴퓨터에 설치된 .NET Framework 버전으로 바꾸십시오.
  7. 응용 프로그램 매핑 항목을 찾을 수 없으면 이 문서의 "해결 방법" 절에 나와 있는 단계를 따릅니다.

참조

ASP.NET의 IIS 매핑을 복구하는 해결 방법은 Microsoft 기술 자료 문서 306005에 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
306005 IIS를 제거하고 다시 설치한 다음 IIS 매핑을 복구하는 방법
다음 문서에서는 이 문서의 앞 부분에서 설명한 디버깅 시나리오에 대한 자세한 내용을 제공합니다.
318465 PRB: ASP.NET 웹 응용 프로그램을 디버깅할 수 없다




Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 325093 - 마지막 검토: 2007년 12월 4일 화요일 - 수정: 4.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services version 5.1
  • Microsoft Internet Information Services 5.0
키워드:?
kbconfig kbdebug kbprb kbsetup kbwebforms KB325093

피드백 보내기

 

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