在大型系统中,我们会通过服务器集群、分布式系统等方式来实现应用系统的负载均衡。比如,我们会将数据库不是当一台或者多台服务器,将应用程序部署到一台或者多台服务器,将我们的报表模板部署到一台或者多台服务,以此来实现负载均衡,我们本文主要讲解在分布式系统中实现报表加载功能。

我们演示的系统共分为两部分,一部分是ReportLibrary,该工程中包含了所有的报表模板文件;另外一部分是ReportClient,该工程主要用于加载ReportLibrary中的报表模板。在实际部署系统时,ReportLibrary和ReportClient会部署到不同的服务器中。

 

第一步:创建解决方案

我们在 VS2010 中创建一个名为 LoadReportFromUri 的解决方案,并创建ReportLibrary和ReportClient Web应用程序。

 

第二步:创建ActiveReports报表模板

在ReportLibrary工程中添加一个ActiveReports页面报表模板,并设计你需要的模板内容。

 

第三步:浏览报表

在ReportClient中的Default.aspx 页面中添加ActiveReports所提供的webViewer控件,并在后台代码中添加以下代码:

    protected void Page_Load(object sender, EventArgs e)
    {
        // 通过 WebClient 来下载报表服务器上的报表文件
        System.IO.Stream stream = null;
        WebClient wc = new WebClient();
        stream = wc.OpenRead(new Uri("http://localhost:63941/PageReport1.rdlx"));
        // 将下载完成的报表对象加载到 WebViewer 控件中
        System.IO.StreamReader sr = new System.IO.StreamReader(stream);
        GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(sr);
        WebViewer1.Report = report;
    }

 

同时,在ReportClient工程中添加一个ActiveReports页面报表,以此来为ReportClient添加ActiveReports相关的DLL引用和License信息。自动添加DLL引用和licenses.licx之后,将刚才添加的报表文件删除。

 

第四步:运行工程

运行ReportClient,并查看Default.aspx页面,截图如下:

image

 

源码下载:VS2010 + ActiveReports 7

转载声明:
欢迎将本站文章进行转载、演绎或用于商业目的,转载时请注明以下信息
文章转自:葡萄城控件���品博客,http://blog.gcpowertools.com.cn
原文地址:http://blog.gcpowertools.com.cn/post/LoadActiveReportFromURI.aspx

不允许评论