응용 프로그램 다이어그램의 ASP.NET 응용 프로그램 개요

업데이트: 2007년 11월

응용 프로그램 디자이너에서는 적절한 끝점을 추가하거나 사용하여 .asmx 파일 기반 웹 서비스를 노출하거나 웹 콘텐츠를 문서화하거나 또는 둘 모두를 수행하는 ASP.NET 응용 프로그램을 정의할 수 있습니다. ASP.NET 웹 서비스 응용 프로그램 또는 ASP.NET 웹 응용 프로그램을 응용 프로그램 다이어그램에 추가하면 응용 프로그램 정의는 각각 기본 웹 서비스 또는 웹 콘텐츠 공급자 끝점을 가지게 됩니다. 그러나 ASP.NET 응용 프로그램에서 두 형식 중 한 형식의 공급자 끝점을 추가하거나 제거할 수 있습니다. ASP.NET 응용 프로그램의 웹 서비스 공급자 끝점을 대체할 수도 있습니다.

자세한 내용은 다음 항목을 참조하십시오.

다음 단원에는 응용 프로그램 다이어그램의 ASP.NET 응용 프로그램에 대한 자세한 내용이 들어 있습니다.

  • ASP.NET 응용 프로그램에 대한 웹 서비스 정의

  • ASP.NET 웹 응용 프로그램 정의

  • ASP.NET 응용 프로그램 구현

  • 웹 서비스 소비자 응용 프로그램 구현

ASP.NET 응용 프로그램에 대한 웹 서비스 정의

ASP.NET 응용 프로그램에 대한 웹 서비스는 웹 서비스 공급자 끝점으로 표시됩니다. 응용 프로그램의 웹 서비스 소비자 끝점은 웹 서비스에 대한 연결 지점을 나타냅니다. ASP.NET 응용 프로그램에 대한 웹 서비스의 작업을 정의하거나 검토하거나 편집할 수 있습니다.

작업 정의, 검토 및 편집

응용 프로그램 디자이너에서는 해당하는 웹 서비스 공급자 끝점을 통해 ASP.NET 응용 프로그램에 대한 각 웹 서비스의 작업과 매개 변수를 정의하거나 보거나 편집할 수 있습니다.

팁:

또한 응용 프로그램 디자이너에서는 계약 구동 방식을 지원하므로 기존 WSDL 파일이나 .disco 파일을 기반으로 미리 정의된 작업 시그너처 및 형식을 사용하여 ASP.NET 응용 프로그램의 웹 서비스 공급자 끝점을 만들 수 있습니다. 자세한 내용은 WSDL 파일 기반의 웹 서비스 끝점을 참조하십시오.

다음 요소를 사용하여 하나 이상의 작업을 정의할 수 있습니다.

  • 해당되는 경우 작업 이름과 반환 형식

  • 이름, 형식(해당되는 경우) 및 각 매개 변수의 전달 방법을 설명하는 한정자를 포함한 작업 매개 변수

  • 각 작업 또는 매개 변수에 대한 선택적 주석

자세한 내용은 방법: ASP.NET 웹 서비스에 대한 작업 정의를 참조하십시오.

웹 서비스 정보 창에서 작업 정의

응용 프로그램 디자이너에서는 웹 서비스 정보 창을 사용하여 ASP.NET 응용 프로그램의 웹 서비스 공급자 끝점에 대한 작업을 정의하거나 보거나 편집할 수 있습니다. 이 창에서는 해당 웹 메서드가 별도의 코드 파일이나 "코드 숨김" 파일에서 단일 클래스 정의 내에 완전하게 선언된 경우에만 구현된 ASP.NET 응용 프로그램의 웹 서비스 작업을 올바르게 표시합니다.

다음 표에서는 웹 서비스 정보 창에 웹 서비스 작업이 올바르게 표시되지 않을 경우의 시나리오에 대해 설명합니다.

시나리오

웹 서비스 정보 창

.asmx 파일에 웹 서비스 클래스 정의 인라인이 들어 있습니다.

아무 작업도 표시되지 않습니다.

웹 서비스 클래스에서 구현된 인터페이스의 메서드에 대한 특성으로 선언된 웹 메서드입니다.

- 또는 -

웹 메서드를 정의하는 기본 클래스를 확장한 클래스입니다.

.asmx 파일에서 참조하는 클래스에 선언된 웹 메서드에 해당하는 작업만 표시됩니다.

여러 바인딩이 포함된 웹 서비스를 정의하는 코드 숨김 파일입니다.

첫 번째 바인딩과 관련된 작업만 표시됩니다.

자세한 내용은 기존 솔루션의 리버스 엔지니어링을 위한 고려 사항을 참조하십시오.

작업 및 매개 변수의 형식 참조

응용 프로그램에 대해 선택한 프로그래밍 언어에 따라 작업이나 매개 변수의 형식을 참조하는 것이 적절합니다. 작업이나 매개 변수를 정의할 때 다음 방법 중 하나를 선택할 수 있습니다.

  • 형식을 비워 두거나 기본값으로 설정합니다.

  • IntelliSense 형식 목록에서 형식을 선택합니다.

  • 해당 라이브러리나 프로젝트에 대한 참조가 응용 프로그램 프로젝트에 있으면 다른 형식 라이브러리 및 프로젝트에 정의된 형식을 참조합니다.

  • 나중에 정의하려는 형식을 참조합니다.

웹 서비스 정보 창을 사용하여 작업과 매개 변수를 정의할 때 Visual Basic과 Visual C#의 경우 형식 참조에 IntelliSense 지원을 사용할 수 있습니다. 응용 프로그램을 구현하고 나면 새 형식을 정의하거나 기존 형식을 다시 정의할 수 있습니다. 자세한 내용은 방법: ASP.NET 웹 서비스의 작업 및 매개 변수 형식 정의를 참조하십시오.

ASP.NET 웹 응용 프로그램 정의

응용 프로그램 디자이너에서 ASP.NET 응용 프로그램의 웹 콘텐츠 공급자 끝점은 HTML 파일이나 Active Server Pages(.aspx 파일)와 같은 웹 콘텐츠가 노출되는 연결 지점을 나타냅니다. 응용 프로그램의 웹 콘텐츠 소비자 끝점은 웹 콘텐츠에 대한 클라이언트 연결 지점을 나타냅니다.

웹 콘텐츠 끝점에서는 코드 생성이나 동기화를 지원하지 않으며 응용 프로그램 구성 파일(.config) 항목을 생성하거나 이 항목과 동기화되지도 않습니다. 그러나 이 끝점을 사용하여 요구 사항을 문서화하거나 웹 서버에서 호스팅되는 웹 사이트의 웹 콘텐츠 지원에 대한 제약 조건을 설정할 수 있습니다.

자세한 내용은 다음 항목을 참조하십시오.

ASP.NET 응용 프로그램 구현

ASP.NET 응용 프로그램을 구현할 때 Visual Studio에서는 적절한 프로젝트 파일을 사용하여 해당 프로젝트를 생성합니다. ASP.NET 응용 프로그램을 파일 시스템 기반의 ASP.NET 개발 서버 웹 프로젝트 또는 HTTP 기반의 IIS(인터넷 정보 서비스) 웹 프로젝트로 구현할 수 있습니다. 자세한 내용은 응용 프로그램 정의를 위한 응용 프로그램 종류 및 프로토타입방법: ASP.NET 응용 프로그램에 대한 웹 사이트 유형 선택을 참조하십시오.

모든 ASP.NET 응용 프로그램 프로젝트에는 솔루션 탐색기에 루트 프로젝트의 일부로 Web.config 구성 파일이 포함되어 있습니다. 하나 이상의 웹 서비스 공급자 끝점이 있는 ASP.NET 응용 프로그램의 경우에는 프로젝트에 각 웹 서비스 공급자 끝점에 대한 프로그래밍 언어별 코드 파일 또는 "코드 숨김 파일"인 웹 서비스 클래스 파일과 .asmx 파일도 포함되어 있습니다.

웹 서비스 클래스에서는 단일 바인딩 및 단일 포트가 있는 WSDL 바인딩이 각 웹 서비스 공급자 끝점과 연결되어 있습니다. 각 웹 서비스 작업은 주석과 함께 웹 서비스 클래스의 WebMethod 특성을 레이블로 사용한 메서드로 표시됩니다. WSDL 또는 .disco 파일에서 만든 웹 서비스 공급자 끝점의 경우에는 WSDL 파일이나 관련 XML 스키마 파일의 작업에 대해 XML serialization을 지원하는 복합 XML 형식을 정의하는 클래스 파일도 응용 프로그램 프로젝트에 포함되어 있습니다. 그러면 필요한 메서드 본문 코드를 추가하여 각 작업의 구현을 완료할 수 있습니다. 자세한 내용은 WSDL 파일 기반의 웹 서비스 끝점을 참조하십시오.

참고:

작업 주석에 지정한 WSDL 설명도 WSDL 파일에 표시되며 WSDL 파일의 생성을 사용자 지정할 수도 있습니다. 자세한 내용은 ASP.NET 웹 서비스에 대한 WSDL 파일 생성을 참조하십시오.

구현된 응용 프로그램의 소스 코드는 마스터 정의로 간주되며, 응용 프로그램 디자이너, 웹 서비스 정보 창 또는 코드 편집기의 ASP.NET 웹 서비스에 대한 변경 내용은 응용 프로그램 다이어그램이 열릴 때 서로 동기화됩니다. 그러나 닫힌 다이어그램은 다음에 다이어그램이 열릴 때 코드 변경 내용과 동기화됩니다. 자세한 내용은 방법: 응용 프로그램 다이어그램에서 응용 프로그램 구현을 참조하십시오.

ASP.NET 웹 응용 프로그램의 동적 포트 할당

ASP.NET 개발 서버 웹 프로젝트를 생성하는 파일 시스템 기반 ASP.NET 응용 프로그램을 구현하면 관련 웹 사이트에 포트 번호가 할당됩니다. 기본적으로 파일 시스템 기반 ASP.NET 응용 프로그램은 동적 포트를 사용하도록 설정되므로 이 포트 번호는 변경될 수 있습니다.

팁:

솔루션 탐색기에서 ASP.NET 응용 프로그램 프로젝트를 마우스 오른쪽 단추로 클릭하여 속성 창에서 포트 번호를 볼 수 있습니다.

예를 들어, 다음과 같은 경우 파일 시스템 기반 ASP.NET 응용 프로그램에 새 포트 번호가 할당됩니다.

  • ASP.NET 응용 프로그램 종류뿐만 아니라 이 ASP.NET 응용 프로그램에 의해 노출되는 웹 서비스에 대한 참조와 함께 구현된 웹 서비스 소비자 응용 프로그램을 포함한 솔루션을 여는 경우

  • 이러한 ASP.NET 응용 프로그램 종류가 포함된 솔루션에서 처음으로 Visual Studio 디버거를 사용하는 경우

관련 웹 서비스 소비자 응용 프로그램 프로젝트가 동일한 솔루션에 있으면 자동으로 업데이트됩니다. 그러나 이들이 분할된 솔루션에 있는 경우와 같이 동일한 솔루션에 있지 않으면 웹 참조가 업데이트되지 않으며 존재하지 않는 웹 서비스를 가리킵니다.

참고:

소스 코드 제어를 사용하려는 경우 관련 웹 서비스 소비자 응용 프로그램 프로젝트가 소스 코드 제어에 체크 인되어 있으면 해당 프로젝트를 체크 아웃하여 웹 참조를 업데이트해야 합니다.

포트 번호 할당을 제어하려면 동적 포트를 사용하지 않도록 파일 시스템 기반 ASP.NET 응용 프로그램의 프로젝트를 설정하면 됩니다.

참고:

동적 포트를 사용하지 않도록 지정하고 나서 Visual Studio 디버거를 시작하면 기존 포트가 사용 중이라는 오류가 발생할 수 있습니다. 이 경우에는 웹 사이트 프로젝트에 대한 포트 번호를 수동으로 변경해야 합니다. 포트 번호를 변경하면 Visual Studio에서 기존 웹 참조가 무효화된다는 경고가 발생합니다. 응용 프로그램 다이어그램이 열려 있으면 웹 참조가 업데이트됩니다. 그러나 응용 프로그램 다이어그램이 열려 있지 않으면 해당 웹 참조를 삭제한 다음 다시 추가해야 합니다.

자세한 내용은 다음 항목을 참조하십시오.

웹 서비스 소비자 응용 프로그램 구현

하나 이상의 웹 서비스 소비자 끝점이 있는 응용 프로그램을 구현하면 웹 참조를 생성하는 데 사용된 WSDL 파일이 사용 가능한 경우 웹 서비스 소비자 끝점마다 하나씩 웹 참조가 생성됩니다. 이 WSDL 파일은 웹 서비스 소비자 끝점의 WSDL 위치 속성으로 지정됩니다. 웹 참조가 생성되면 소비자 응용 프로그램의 구성 파일에 웹 서비스 URL도 생성됩니다.

참고:

연결된 ASP.NET 웹 서비스 공급자 응용 프로그램이 동시에 구현되면 구현하는 동안 WSDL 파일을 사용할 수 있습니다. 그러나 소비자 끝점이 구현될 때 연결된 웹 서비스 공급자 응용 프로그램이 구현되지 않으면 소비자 끝점을 구현할 수 없음을 나타내는 경고가 소비자 끝점에 표시됩니다. 소비자 응용 프로그램이 구현된 경우, 웹 서비스 공급자 응용 프로그램이 구현되면 연결된 모든 소비자 끝점이 자동으로 구현됩니다. 자세한 내용은 응용 프로그램 다이어그램 문제 해결을 참조하십시오.

웹 참조는 웹 서비스 작업 호출과 SOAP 메시지의 통신 처리를 위한 웹 서비스 클라이언트 프록시 클래스와 프록시 형식의 작성을 처리합니다. 클래스 라이브러리에 웹 서비스 소비자 끝점으로 정의된 사용자 지정 프록시 클래스 및 웹 참조를 비롯한 사용자 지정 웹 서비스 클라이언트 프록시 클래스를 리버스 엔지니어링하고 시각화할 수도 있습니다. 자세한 내용은 XML Web services 프록시 만들기사용자 지정 웹 서비스 클라이언트 프록시 클래스 고려 사항을 참조하십시오.

참고:

구현한 후에 Windows 또는 웹 서비스 소비자 응용 프로그램에 대한 XML 문서를 사용하여 XML 파일에 작업 주석을 포함할 수도 있습니다. 이 파일은 응용 프로그램 프로젝트를 빌드한 후에 생성됩니다. XML 파일을 생성하려면 Windows 프로젝트에 대한 XML 문서를 사용할 수 있도록 설정해야 합니다. Visual Basic Windows 프로젝트에 대한 내용은 방법: 프로젝트에 대한 XML 문서 생성을 참조하십시오. Visual C# Windows 프로젝트에 대한 내용은 프로젝트 디자이너, 빌드 페이지(C#)방법: 빌드 속성 설정(C#)을 참조하십시오.

참고 항목

기타 리소스

응용 프로그램 다이어그램에서 ASP.NET 응용 프로그램 정의