提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2023-07-24 11:25:26.230|阅读 46 次
概述:本文介绍如何使用DevExpress Reporting组件来通过文档缓存管理和分布式缓存在Web应用程序中增强性能和可伸缩性,欢迎下载相关组件体验!
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
可扩展性问题一直是主要Web应用程序的前沿和核心问题,如果可伸缩性对您的项目很重要,可能需要实现缓存策略。由于它与DevExpress Web Document Viewer相关,缓存将要求应用程序在缓存中存储临时状态。对于分布式系统,您将需要一个缓存存储系统来保持所有节点同步。在本文中,我们将回顾DevExpress Web Document Viewer的缓存管理功能,并演示如何使用它们来优化应用程序性能。
DevExpress Reporting是.NET Framework下功能完善的报表平台,它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表。
DevExpress Reporting v23.1正式版下载
DevExpress技术交流群8:523159565 欢迎一起进群讨论
DevExpress Web Document Viewer使用两种级别的缓存:短期(内存缓存)和长期(存储)。
短期缓存驻留在内存中并存储对象模型,以便更快地执行频繁使用的操作。它将报表布局和文档缓存为对象,这些对象稍后被序列化并移动到长期存储(在需要时)。
长期缓存存储序列化的数据,以便按需检索对象。DevExpress Reporting为长期缓存提供了各种存储选项,包括文件存储、数据库存储(基于XPO)、ASP. NET Core分布式缓存(SQL Server, Redis)和Azure云存储。
简要介绍了缓存级别之后,让我们来看看实现细节。DevExpress Reporting允许您根据所选择的存储类型(例如数据库缓存的UseDbStorage方法或分布式缓存的UseDistributedCache方法)配置其缓存,选择存储类型允许DevExpress Web Document Viewer利用指定的缓存来高效地缓存和检索报告布局、生成的文档和导出的文件。
UseDistributedCache方法支持在ASP. NET Core应用程序中使用分布式缓存,不同的分布式缓存实现是可用的,包括SQL Server, Redis和NCache。
要实现ASP. NET Core应用程序(用于DevExpress Web Document Viewer)中的分布式缓存,您必须:
Step 1:安装所需的软件包
确保您在ASP. NET Core项目中安装了必要的包,将需要以下软件包:
Step 2:配置分布式缓存
在您的ASP. NET Core应用程序中,按照以下指南配置和启用分布式缓存:
Step 3:在DevExpress Web Document Viewer中启用分布式缓存
在同一个Startup.cs文件中,找到ConfigureServices方法并找到services.ConfigureReportingServices块。在该块中,添加以下代码以启用分布式缓存:
services.ConfigureReportingServices(builder => { builder.ConfigureWebDocumentViewer(viewerBuilder => { viewerBuilder.UseDistributedCache(); }); });
分布式缓存只适用于ASP.NET Core,与之不同的是,这种类型的缓存适用于所有支持的Web平台。
UseDbStorage方法允许使用数据库缓存存储,它需要一个到现有数据库的连接字符串。该缓存基于XPO Data Providers,支持多个关系数据库管理系统。要实现数据库缓存,您必须:
Step 1:在Web Document Viewer中使用数据库缓存
在Startup.cs文件中,找到ConfigureServices方法并找到services.ConfigureReportingServices块。在该块中,添加以下代码来启用数据库缓存:
public void ConfigureServices(IServiceCollection services) { //… services.ConfigureReportingServices(configurator => { configurator.ConfigureWebDocumentViewer(viewerConfigurator => { viewerConfigurator.UseCachedReportSourceBuilder(); viewerConfigurator.UseDbStorage("XpoStorageConnection"); //… }); //… }
用所选数据库的连接字符串替换XpoStorageConnection,确保设置了数据库并安装了适当的XPO数据库提供程序。
Step 2:初始化数据库
使用IStorageDbInitializer接口初始化数据库表和模式:
public class Program { public static void Main(string[] args) { IWebHost host = CreateWebHostBuilder(args).Build(); if (args.Any(s => s.ToLower() == "--initDatabase")) { using (var scope = host.Services.CreateScope()) { var services = scope.ServiceProvider; services.GetRequiredService<IStorageDbInitializer>().InitDbSchema(); } } host.Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) { return WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); } }
从缓存的报表源生成文档所需的时间将根据文件存储系统的性能而有所不同。
要将报告文档缓存为文件,请根据需要使用, , , 和 方法。
如果您希望使用Azure提供的选项缓存报表文档,请参考以下帮助主题:。
如果管理得当,缓存是有效的——包括缓存的报表布局和文档保留的时间长度。DevExpress Reporting提供缓存过期选项,使用 和StorageCleanerSettings,在您的应用程序中实现性能和内存消耗之间的平衡。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自:慧都网本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
行业领先的界面控件开发包,帮助企业构建卓越应用!
DevExpress Reporting新一代跨平台Visual Studio报表解决方案,是功能完善的.NET Framework报表平台
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢