如何在分布式系统中部署和加载ActiveReports报表

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

发布于 2013/08/08 00:00

ActiveReports

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

我们演示的系统共分为两部分,一部分是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

标签: URI , 负载均衡 , 服务器集群 , 分布式系统

转载声明:

欢迎将本站文章进行转载、演绎或用于商业目的,转载时请注明以下信息

文章转自:葡萄城控件博客,http://blog.gcpowertools.com.cn

原文地址:http://blog.gcpowertools.com.cn/post/LoadActiveReportFromURI.aspx

ActiveReports 报表控件| 下载试用

ActiveReports 是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForm / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求,作为专业的报表工具为全球超过 300,000 开发人员提供了全面的报表开发服务。

您对ActiveReports产品的任何技术问题,都有技术支持工程师提供1对1专业解答,点击此处即可发帖提问>>技术支持论坛

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态