연습: 간접 웹 서비스 연결 나타내기
업데이트: 2007년 11월
Visual Studio Team System Architecture Edition에서는 ASP.NET 웹 서비스 응용 프로그램을 클래스 라이브러리의 비즈니스 함수에 대한 외관으로 사용할 수 있습니다. 분산 시스템 디자이너로는 응용 프로그램 다이어그램에서 직접 클래스 라이브러리를 디자인하거나 나타낼 수 없지만 ASP.NET 웹 서비스 응용 프로그램을 사용하면 클래스 라이브러리 동작을 표시할 수 있습니다.
응용 프로그램 다이어그램에 클래스 라이브러리를 표시하려면
응용 프로그램 다이어그램을 엽니다.
새 ASP.NETWebService를 다이어그램에 추가하고 이름을 MyWebService로 지정합니다. .NET 웹 서비스 끝점의 이름을 FirstWebService로 지정합니다.
이렇게 하면 클래스 라이브러리의 외관 역할을 하는 웹 서비스가 만들어집니다.
MyWebService를 마우스 오른쪽 단추로 클릭하고 응용 프로그램 구현을 클릭합니다.
새 ASP.NETWebApplication을 다이어그램에 추가하고 이름을 MyWebApplication로 지정한 후에 구현합니다.
이렇게 하면 FirstWebService를 통해 클래스 라이브러리의 기능을 사용하는 클라이언트 웹 응용 프로그램이 만들어집니다.
MyWebApplication을 마우스 오른쪽 단추로 클릭하고 설정 및 제약 조건을 클릭하여 설정 및 제약 조건 편집기를 표시합니다.
응용 프로그램 설정, 디렉터리 및 구성 노드를 확장합니다.
NetSectionGroup 노드를 마우스 오른쪽 단추로 클릭하고 리소스 추가를 가리킨 다음 SettingsSection을 클릭합니다.
이 리소스를 추가하면 솔루션 탐색기에 Web.config 파일이 표시됩니다.
솔루션 탐색기에서 솔루션 노드를 마우스 오른쪽 단추로 클릭한 다음 새 프로젝트를 클릭합니다.
새 프로젝트 추가 대화 상자가 나타납니다.
프로젝트 형식에서 Visual Basic 또는 Visual C# 노드를 확장하고 Windows를 클릭합니다. 템플릿에서 클래스 라이브러리를 클릭하고 확인을 클릭합니다.
솔루션 탐색기에 클래스 라이브러리 프로젝트가 표시됩니다.
클래스 라이브러리 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 웹 참조 추가를 클릭합니다.
웹 참조 추가 대화 상자가 나타납니다.
이 솔루션의 웹 서비스를 클릭합니다.
이 솔루션의 웹 서비스에서 FirstWebService를 클릭하고 참조 추가를 클릭합니다.
그러면 클래스 라이브러리에 FirstWebService에 대한 웹 참조가 추가됩니다.
클래스 라이브러리 프로젝트를 선택한 상태로 빌드 메뉴에서 <클래스 라이브러리 이름> 빌드를 클릭합니다.
그러면 클래스 라이브러리가 빌드되고 클래스 라이브러리 프로젝트에 App.config 파일이 추가됩니다.
솔루션 탐색기에서 MyWebApplication 프로젝트 노드를 마우스 오른쪽 단추로 클릭한 다음 참조 추가를 클릭합니다.
참조 추가 대화 상자가 나타납니다.
프로젝트 탭과 클래스 라이브러리 프로젝트를 차례로 클릭하고 확인을 클릭합니다.
그러면 클래스 라이브러리에 대한 참조가 MyWebApplication에 추가됩니다.
MyWebApplication 프로젝트에서 Web.config 파일을 엽니다.
클래스 라이브러리 프로젝트에서 App.config 파일을 엽니다.
<configSections> 섹션을 App.config에서 복사하여 Web.config로 붙여넣습니다. 이 섹션 그룹은 다음과 같이 됩니다.
<configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="ClassLibrary1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections>
<applicationSettings> 섹션을 App.config에서 복사하여 Web.config에서 <configSections> 아래에 붙여넣습니다. 이 섹션 그룹은 다음과 같이 됩니다.
<applicationSettings> <ClassLibrary1.Settings> <setting name="ClassLibrary1_localhost_WebService1" serializeAs="String"> <value>https://localhost:1665/MyWebService/FirstWebService.asmx</value> </setting> </ClassLibrary1.Settings> </applicationSettings>
이제 Web.config의 시작 부분은 다음과 같습니다.
<configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="ClassLibrary1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections> <appSettings> </appSettings> <applicationSettings> <ClassLibrary1.Settings> <setting name="ClassLibrary1_localhost_WebService1" serializeAs="String"> <value>https://localhost:1665/MyWebService/FirstWebService.asmx</value> </setting> </ClassLibrary1.Settings> </applicationSettings> <connectionStrings/> <system.web>
솔루션을 빌드한 다음 응용 프로그램 다이어그램을 표시합니다.
소비자 끝점이 MyWebApplication에 나타납니다. 이 소비자 끝점은 MyWebService의 FirstWebService 끝점에 연결됩니다. 이 끝점은 클래스 라이브러리 프로젝트의 웹 참조에서 웹 서비스로의 연결을 나타냅니다.