2011-02-09 7 views
2

WCF 서비스와 통신하는 "winform"응용 프로그램을 만들었습니다.WCF 서비스에서 내 옵션은 무엇입니까?

winform은 많은 행을 가진 datagridview를 표시합니다. 사용자는 인쇄하고자하는 행을 선택 (체크 박스) 한 다음 인쇄 버튼을 클릭 할 수 있습니다.

선택한 행은 내 WCF 서비스의 메서드로 보내지고 차례로 이진 데이터의 컬렉션 (인쇄 할 문서)이 반환됩니다. 일단 반환되면 반환 된 컬렉션의 각 바이너리 데이터에 대해 디스크에 pdf 파일을 만듭니다.

되면, 그 새로 생성 된 문서를 프린터로 전송 완료 ...

참고 : 나는 그 PDF 문서의 이전에 인쇄 될 것 "요약"보고서 문서를 작성해야 이 PDF 문서를 생성하기 전에 .

이렇게하려면 이진 데이터를 반환하는 내 WCF 서비스의 메서드를 호출합니다. 그런 다음이 바이너리를 가져와 요약 된 PDF 문서를 만듭니다.

여기 내 질문입니다 : "요약 보고서"를 만드는 가장 좋은 방법은 무엇입니까?

지금까지 Reporting Services를 사용하여 요약 보고서를 디자인하려고했지만 보고서에서 수행하려는 일부 작업 (예 : 체크 박스 열을 그것을 특정 규칙에 따라 "선택"또는 비표준으로 만들거나 내 보고서를 이중 언어로 만드십시오 ...). 그래서 나는 아마도 RS가 유연하고 직관적이지 않을 것이라고 생각하고 있습니다 ...

내 WCF 서비스는 Reporting Services 웹 서비스를 호출하고 적절한 보고서를 호출 한 다음 다시 보내 줄 이진 데이터를 반환합니다. winform 응용 프로그램에.

I도하지만 크리스탈 리포트를 사용하지만 난 그것을 사용한 적이 있기 때문에 내가 생각할 수있는 마지막 대안은 함께 전달 내 WCF 서비스 내에서 웹 페이지를 호출

, 그것은 ... 카운터 생산적인 것의 필요한 매개 변수. 웹 페이지 자체를 렌더링하고 그 웹 페이지를 내 WCF 서비스 메서드에 의해 반환 될 이진 데이터로 변환하려고합니다 ...

나는 마지막 대안을 시도하지는 않았지만, 내가 할 수있는 것과 할 수없는 것에 대한 융통성.

나를 도와 줄 수있는 제안이나 다른 대안이 있습니까? 감사

나는이 게시물이 아직 열려 몰랐어요

답변

1

...

사람이 알고 관심이 있다면,이 드디어 해낸 솔루션입니다 : 내가 구한 후

바이너리 데이터의 수집 및 그 콜렉션을 반복하여 사용자 디스크에 물리적 인 PDF 파일을 생성하려면, WCF를 호출하여 (두 번째) 요약 보고서를 생성하는 방법이 필요했습니다. 일단 렌더링 된 아이디어는 생성 된 결과 (바이너리)를 얻은 다음 그 데이터를 winform 응용 프로그램으로 다시 보내서 사용자의 디스크에 멋진 작은 Summary.pdf 파일을 만들 수있게하는 것이 었습니다.

일단 완료되면 타사 구성 요소를 사용하여 생성 된 모든 PDF 파일을 프린터로 프로그래밍 방식으로 보냅니다.

요약 보고서는 요약 보고서에 렌더링 시간이 오래 걸릴 수 있으므로 시간 초과 가능성이 커졌습니다. 시간 초과를 늘리는 것이 적절한 대안이 아니 었습니다 ...

그래서 솔루션은 서버에서 요약 보고서를 호출/작성하는 대신 클라이언트 보고서 정의 파일 (.rdlc)을 내 winform 응용 프로그램에 통합하기로 결정했습니다.

기본적으로 내 winform 응용 프로그램이 설치되면 Summary.rdlc 파일도 통합됩니다. 적절한 시간이되면 WCF 서비스에서 보고서에 필요한 데이터를 가져 와서이 데이터를 사용자의 컴퓨터에서 로컬로 렌더링하는 .rdlc 파일로 보내고 사용자 컴퓨터에서 Summary.pdf 파일을 만듭니다.

이제 끝났습니다.

관련 문제