Visual Studio 2005 또는 2008에서 서버 파일 구성
서버 파일은 IIS 서버에서 보고서를 제공하는 보고서 웹 서비스의 컬렉션을 나타냅니다. 서버 파일은 원래 Visual Studio .NET 2002용 Crystal Reports에서 Crystal Services 노드로 제공되었지만 이 노드는 이후에 제거되었습니다. Crystal Reports의 모든 이후 버전에서는 SDK를 통해 서버 파일을 계속 지원하지만 각 버전에 대해 몇 가지 구성 작업을 수행해야 합니다.
서버 파일은 기본 보고서 파일에서 생성되며 웹 서버의 파일 디렉터리에 있는 샘플 보고서 폴더(또는 사용자가 지정하는 다른 폴더)에 저장됩니다.
서버 파일 구성
Visual Studio 2005 또는 2008용 서버 파일을 구성하려면 두 단계를 완료해야 합니다. 먼저 보고서를 제공하는 보고서 웹 서비스를 만듭니다. 두 번째 단계는 새 웹 서비스에 해당하는 web.config 파일을 변경하는 것입니다. Visual Studio 2005의 경우 Visual Studio .NET 2002에 있던 서버 파일의 구성 폴더가 더 이상 사용되지 않는 대신 web.config 파일에 구성 항목이 추가되었습니다.
각 프로젝트의 web.config 파일에 이 구성 항목을 한 번에 하나씩 추가할 수도 있습니다. 그러나 이 방법 대신 이 구성 항목을 보고서 웹 서비스를 포함하는 가상 디렉터리 내에 있는 web.config 파일에 추가하는 것이 좋습니다.
서버 파일에 필요한 보고서 웹 서비스를 만들려면
Visual Studio를 시작합니다.
파일 메뉴에서 새로 만들기를 선택한 다음 웹 사이트를 클릭합니다.
새 웹 사이트 대화 상자의 언어 목록에서 Visual C#을 선택합니다.
템플릿 목록에서 ASP.NET 웹 서비스를 클릭합니다.
위치 필드에서 기본 프로젝트 이름을 사용자의 프로젝트 이름으로 바꿉니다.
이 예제에서는 C:\InetPub\wwwroot\에 CrystalReportsWebServices라는 이름으로 프로젝트를 저장합니다.
C:\InetPub\wwwroot\CrystalReportsWebServices\
확인을 클릭합니다.
디버그 메뉴에서 디버깅 시작을 클릭합니다.
대화 상자에 Web.config 파일을 수정해야 한다는 메시지가 나타납니다. 확인 단추를 클릭하여 디버깅을 사용할 수 있도록 설정합니다.
디버깅이 완료되면 응용 프로그램으로 돌아갑니다.
솔루션 탐색기에서 Service.asmx를 마우스 오른쪽 단추로 누른 다음 삭제를 클릭합니다.
솔루션 탐색기에서 App_Code 폴더를 확장하고 Service.cs를 마우스 오른쪽 단추로 클릭한 다음 삭제를 클릭합니다.
솔루션 탐색기에서 굵은 글꼴로 표시된 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 새 항목 추가...를 클릭합니다.
새 항목 추가 대화 상자에서 다음과 같이 합니다.
- 설치 템플릿 필드에서 웹 서비스를 선택합니다.
- 이름 필드에 ServerFileReportService.asmx를 입력합니다.
- 다른 파일에 코드 입력을 선택 취소합니다.
- 추가를 클릭합니다.
ServerFileReportService.asmx 파일의 내용을 다음 줄로 바꿉니다.
<%@ WebService language="C#" class="CrystalDecisions.Web.Services.ServerFileReportService" %>
파일 메뉴에서 모두 저장을 클릭합니다.
솔루션 탐색기에서 굵은 글꼴로 표시된 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 새 항목 추가...를 클릭합니다.
새 항목 추가 대화 상자에서 다음을 수행합니다.
- 설치 템플릿 필드에서 웹 서비스를 선택합니다.
- 이름 필드에서 ServerFileReportManager.asmx를 입력합니다.
- 다른 파일에 코드 입력을 선택 취소합니다.
- 추가를 클릭합니다.
ServerFileReportManager.asmx 파일의 내용을 다음 줄로 바꿉니다.
<%@ WebService language="C#" class="CrystalDecisions.Web.Services.ServerFileReportManager" %>
파일 메뉴에서 모두 저장을 클릭합니다.
서버 파일 구성 항목을 web.config 파일에 추가하려면
솔루션 탐색기에서 Web.config 파일을 엽니다.
Web.Config 파일의 전체 내용을 아래의 XML로 바꿉니다.
아래 예제에서는 루트 디렉터리의 값을 보고서가 저장된 디렉터리로 변경합니다. 이 예제에서 파일 경로는 C:\program files\Microsoft Visual Studio 8\Crystal Reports\Samples\en\Reports\Feature Examples로 설정합니다.
<?xml version="1.0"?> <configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <configSections> <sectionGroup name="crystalDecisions"> <section name="serverFileReportManager" type="System.Configuration.NameValueSectionHandler, System, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Custom=null"/> </sectionGroup> </configSections> <crystalDecisions> <serverFileReportManager> <add key="rootDirectory" value="C:\program files\Microsoft Visual Studio 8\Crystal Reports\Samples\en\Reports\Feature Examples"/> </serverFileReportManager> </crystalDecisions> <appSettings/> <connectionStrings/> <system.web> <compilation debug="true"> <assemblies> <add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/> </assemblies> </compilation> </system.web> </configuration>
참고 PUT_FILE_DIRECTORY_PATH_TO_REPORTS_FOLDER_HERE 위치에 보고서 폴더의 파일 디렉터리 경로를 입력해야 합니다. 보고서 폴더 경로는 "샘플 보고서 디렉터리"를 참조하십시오.
web.config 파일에 변경 사항을 저장합니다.
뷰어의 가상 디렉터리가 작동하는지 확인하려면 브라우저를 열고 게시된 보고서 웹 서비스의 URL을 입력합니다.
https://localhost/CrystalReportsWebServices/ServerFileReportService.asmx?wsdl
이전 서버 파일 및 뷰어의 가상 디렉터리
이전 버전의 Crystal Reports에서 서버 파일은 뷰어의 가상 디렉터리에서 중앙 집중식 웹 서비스의 IIS를 통해 제공되었습니다. Crystal Reports의 모든 이후 버전에서는 "뷰어의 가상 디렉터리"라는 추가 디렉터리를 IIS에 생성하고 이를 통해 여러 버전의 Crystal Reports를 유지 관리할 수 있습니다.
이전 버전의 Crystal Reports를 사용하여 프로젝트에서 서버 파일을 코딩한 후 최신 버전으로 업그레이드하는 경우, 이와 같이 추가된 "뷰어의 가상 디렉터리"와 관련하여 유지 관리 문제가 발생할 수 있습니다. 코드에서 각 ServerFileReport 인스턴스의 WebServiceURL 속성에 있는 "뷰어의 가상 디렉터리" 이름을 보고서 웹 서비스의 현재 위치로 변경하여 사용자가 작업하려는 ServerFileReport 인스턴스를 활성화해야 합니다.
참고 |
---|
각 버전에 대한 "뷰어의 가상 디렉터리" 이름과 경로를 확인하려면 "뷰어의 가상 디렉터리"를 참조하십시오. |
ServerFileReport 인스턴스의 WebServiceURL 속성에서 "뷰어의 가상 디렉터리"를 변경하려면
프로젝트에서 ServerFilesReport 인스턴스의 WebServiceURL 속성이 할당된 각 항목을 찾습니다.
이전 버전에 사용된 뷰어의 가상 디렉터리 이름과 현재 코드에 할당된 뷰어의 가상 디렉터리 이름을 비교합니다.
"뷰어의 가상 디렉터리"를 참조하십시오.
현재 설치된 최신 버전의 Crystal Reports에 사용되는 뷰어의 가상 디렉터리 이름을 변경합니다.
현재 설치된 최신 버전의 Crystal Reports가 Crystal Reports for Visual Studio 2005인 경우 이 자습서의 앞에서 만든 보고서 웹 서비스 경로를 입력합니다.
다시 컴파일한 다음, 보고서가 제대로 로드되는지 확인합니다.
참고 항목
-
이 부분에서는 Crystal Reports SDK의 기본 사항에 대해 설명합니다. 이러한 기본 사항을 잘 알고 있으면 프로젝트의 구조를 계획하는 데 도움이 됩니다.