Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何缩短Silverlight应用程序数据显示的加载时间_C#_Asp.net_Silverlight - Fatal编程技术网

C# 如何缩短Silverlight应用程序数据显示的加载时间

C# 如何缩短Silverlight应用程序数据显示的加载时间,c#,asp.net,silverlight,C#,Asp.net,Silverlight,Hi Silverlight应用程序的初始数据加载可能需要6-20秒。我们使用的是web服务,数据来自一个数据库并加载了2年的事务。我们不使用汇总表。 这次有什么改进意见吗?我们不进行插入/更新/删除,只进行显示。当应用程序加载时,您是否需要2年的事务处理?也许加载您需要的UI,然后在后台进行更重的调用来加载2年的事务。您的web服务的数据格式是什么?json有效负载通常比xml小得多。同样的规则适用于Silverlight和web页面。你想精简你的数据。我建议使用某种分页结构,这样您就不会一次

Hi Silverlight应用程序的初始数据加载可能需要6-20秒。我们使用的是web服务,数据来自一个数据库并加载了2年的事务。我们不使用汇总表。
这次有什么改进意见吗?我们不进行插入/更新/删除,只进行显示。

当应用程序加载时,您是否需要2年的事务处理?也许加载您需要的UI,然后在后台进行更重的调用来加载2年的事务。您的web服务的数据格式是什么?json有效负载通常比xml小得多。

同样的规则适用于Silverlight和web页面。你想精简你的数据。我建议使用某种分页结构,这样您就不会一次加载所有数据。

需要注意的一点是将数据分块加载,这样您就可以在加载其余数据的同时显示一些内容

如果以DomainDataSource为例,您可以设置加载大小和页面大小,以最初获取前两到三页数据,然后在用户滚动数据时加载其余页面

现在,如果您在图形或其他非分页表中显示数据,这将无法直接工作


但是,您可以使用ObservableCollection,它可以让您异步更新和显示数据。

当然,显而易见的答案是将数据精简为小块。对于Silverlight这样的客户端技术,我们不能保证每个用户都能获得最佳资源,如网络容量、CPU等。因此,我们可以做的是限制带宽使用并有效调整数据传输,这使得服务器端实现比SL客户端更为重要。因此,我在这里的目的是在设计Web服务时解决所有的可扩展性和性能问题。提高性能的其他一般提示可以是

在整个服务中使用分页-您的服务将根据用户操作提取适当的信息集。 如果需要,使用背景线程。从服务中提取数据或任何解析或反序列化都可以卸载到线程中。 -使用一些引人入胜的动画和加载进度显示,同时后台线程进行数据提取。用户肯定会喜欢体验中的节奏,即使这需要一些时间。