我有一个项目,我们正在考虑优化程序的某些部分。 它基本上是一个3层次的层次结构,下面将大致是我们的结构。
UI - aspx和aspx.cs
业务逻辑 - Web服务
数据访问 - 驻留Web服务项目的单独类。
实施例: 现在的做法是,当我们检索数据时,我们从Web服务中检索数据集并将其返回到UI以处理数据的显示。为了更改数据库,已更改的数据集将传递回Web服务。对于少量结果,它不会造成太大问题,但是当结果很大时,Web服务也会传递更大的xml,这会大大降低性能。
那么有没有人会使用这种类型的结构并有更好的方法来处理数据库结果?现在,这种做法在所有CRUD中使用,所以我想到的是创建和删除,甚至更新,我们可以跳过数据集的传递,并使用线性命令,但我不确定是这个一个好方法
答案 0 :(得分:3)
如果 dataset 是指DataSet,那么这绝不应该传递给Web服务。我建议您在与服务通信时使用POCO类。 DataSet已在内部进行XML序列化/反序列化,当您将其发送到Web服务时,此序列化/反序列化将发生两次。另一个提示是不要将整个数据集重新发送回Web服务,而只是将调用之间的内容重新发送以减少网络流量。
答案 1 :(得分:0)
经验法则:在Web应用程序中,您应该仅在客户端和服务器之间交换所需的数据。我的意思是所有过滤等应该在服务器端完成。
一些想法是:使用分页,避免使用数据集,仅向您要求显示的WS请求该信息!