실행 상태 식별Identifying Execution State

HTTP(Hypertext Transfer Protocol)는 연결 없는 상태 비저장 프로토콜이므로 다양한 요청이 동일한 클라이언트에서 나온 것인지 여부 또는 단일 브라우저 인스턴스에서 페이지나 사이트를 계속 사용 중인지 여부를 자동으로 나타내지 않습니다.Hypertext Transfer Protocol (HTTP) is a connectionless and stateless protocol, which means that it does not automatically indicate whether different requests come from the same client or even whether a single browser instance is still actively viewing a page or site. 다수의 세션에서 논리적 연결이 만들어져 서버와 클라이언트 간의 상태가 HTTP를 통해 유지됩니다.Sessions create a logical connection to maintain state between server and client over HTTP. 특정 세션과 관련된 사용자별 정보를 세션 상태라고 합니다.The user-specific information relevant to a particular session is known as the session state.

세션 관리에는 HTTP 요청과 동일 세션에서 생성된 다른 이전 요청과의 상관 관계를 지정하는 작업이 포함됩니다.Session management involves correlating an HTTP request with other previous requests generated from the same session. 세션 관리가 없으면 HTTP 프로토콜의 연결 없는 상태 비저장 특성으로 인해 이러한 요청은 보고서 서버 웹 서비스와 관련이 없는 것으로 나타납니다.Without session management, these requests appear unrelated to the Report Server Web service because of the connectionless and stateless nature of the HTTP protocol.

Reporting ServicesReporting ServicesASP.NETASP.NET에서 표시하는 것과 같이 세션 상태의 전체적 개념을 표시하지 않습니다. does not expose a holistic concept of session state such as that exposed by ASP.NETASP.NET. 하지만 보고서를 실행할 때 보고서 서버에서는 실행의 형태로 메서드 호출 간의 상태를 유지 관리합니다.However, when executing reports, the report server maintains state between method calls in the form of an execution. 실행을 통해 사용자는 보고서 서버에서 보고서 로드, 보고서에 대한 자격 증명 및 매개 변수 설정, 보고서 렌더링 등을 포함하여 보고서에 여러 작업을 수행할 수 있습니다.An execution allows the user to interact with the report in several ways - including loading the report from the report server, setting credentials and parameters for the report, and rendering the report.

보고서 서버와 통신하는 동안 클라이언트에서는 실행을 사용하여 보고서 보기, 보고서의 다른 페이지로 사용자 이동 등을 관리하며 보고서의 섹션을 표시하거나 숨깁니다.While they are communicating to a report server, clients use the execution to manage report viewing and user navigation to other pages in a report, and to show or hide sections of a report. 클라이언트 응용 프로그램에서 실행 중인 각 보고서별로 고유한 실행이 존재합니다.A unique execution exists for each report the client application is running.

일반적으로 실행의 수명은 사용자가 브라우저나 클라이언트 응용 프로그램으로 이동하여 보려는 보고서를 선택할 때 시작됩니다.In general, the lifetime of an execution starts when a user navigates to a browser or client application and selects a report to view. 마지막 실행 요청이 수신된 후 짧은 제한 시간이 지나면 실행은 폐기됩니다(기본 제한 시간은 20분).The execution is discarded after a short time out period after the last request to the execution has been received (the default time out is 20 minutes).

웹 서비스 측면에서 수명은 보고서 서버 웹 서비스 LoadReport, LoadReportDefinition 또는 Render 메서드가 호출될 때 시작됩니다.From a Web service perspective, the lifetime starts when the Report Server Web service LoadReport, LoadReportDefinition, or Render methods are called. 응용 프로그램에서는 다른 메서드를 사용하여 활성 실행을 조작할 수 있습니다(예: 매개 변수 설정 및 데이터 원본 설정).The application can use other methods to manipulate the active execution (for example, setting parameters and setting data sources). 마지막 실행 요청이 수신된 후 짧은 제한 시간이 지나면 실행은 폐기됩니다(기본 제한 시간은 20분).The execution is discarded after a short time out period after the last request to the execution has been received (the default time out is 20 minutes).

응용 프로그램에서는 RenderRenderStream 메서드에서 SOAP 헤더로 반환되는 ExecutionID를 저장하여 웹 서비스 LoadReportLoadReportDefinition 메서드 호출 간의 여러 활성 실행을 추적합니다.An application keep track of multiple active executions between calls to the Web service Render and RenderStream methods by saving the ExecutionID, which is returned in the SOAP header from the LoadReport and LoadReportDefinition methods.

다음 다이어그램은 보고서에 대한 처리 및 렌더링 경로를 보여 줍니다.The following diagram shows the processing and rendering path for reports.

보고서 처리/렌더링 경로Report processing/rendering path

위에 나타난 함수를 지원하기 위해 현재 SOAP Render 메서드는 실행 초기화, 처리 및 렌더링 단계를 포함한 여러 메서드로 분할되었습니다.To support the functions described above, the current SOAP Render method has been split into multiple methods encompassing execution initialization, processing, and rendering phases.

보고서를 프로그래밍 방식으로 렌더링하려면 다음 작업을 수행해야 합니다.To programmatically render a report, you must:

  • LoadReport 또는 LoadReportDefinition을 사용하여 보고서 또는 보고서 정의를 로드합니다.Load the report or the report definition using LoadReport or LoadReportDefinition.

  • CredentialsRequired 또는 ParametersRequired에 의해 반환된 ExecutionInfo 개체의 LoadReportLoadReportDefinition 속성 값을 검토하여 보고서에 자격 증명 또는 매개 변수가 필요한지 여부를 확인합니다.Check to see if the report needs credentials or parameters by checking the values of the CredentialsRequired and ParametersRequired properties of the ExecutionInfo object returned by LoadReport or LoadReportDefinition

  • 필요한 경우 SetExecutionCredentialsSetExecutionParameters 메서드를 사용하여 자격 증명 및/또는 매개 변수를 설정합니다.If necessary, set the credentials and/or parameters using the SetExecutionCredentials and SetExecutionParameters methods.

  • Render 메서드를 호출하여 보고서를 렌더링합니다.Call the Render method to render the report.

    보고서가 세션에 있는 동안 보고서 서버 데이터베이스에 저장된 원본 보고서가 변경될 수 있습니다.While a report is in session, the underlying report stored in the report server database can change. 예를 들어 보고서 정의가 변경되거나, 보고서가 삭제 또는 이동되거나, 사용자 권한이 바뀔 수 있습니다.For example, the report definition can change, the report can be deleted or moved, and user permissions can change. 보고서가 활성 세션에 있는 경우에는 원본 보고서, 즉 보고서 서버 데이터베이스에 저장된 보고서의 변경으로 인한 영향을 받지 않습니다.If the report is in an active session, it is not affected by changes made to the underlying report (that is, the report stored in the report server database).

    URL 액세스 명령을 사용하여 보고서 세션을 관리할 수도 있습니다.You can also manage a report session using URL access commands.

참고 항목See Also

RenderRender
기술 참조 ( Ssrs) Technical Reference (SSRS)
보고를 사용 하 여 Services SOAP 헤더Using Reporting Services SOAP Headers